lucene - 如何为网站搜索引擎编写 Lucene 查询

标签 lucene solr search-engine

我计划使用 Apache Solr 实现我网站的搜索引擎。我建立了一个搜索索引,其文档之一是:

虚拟战士2

执行搜索: 虚拟*

按预期返回所有以“Virtua”开头的记录。

搜索“Virtua Fighter 2”会返回完全匹配的结果。

我希望搜索“Virtua Fighter”以在其结果集中返回 Virtua Fighter 2。但对 Virtua Fighter 的短语搜索却从结果集中忽略了 Virtua Fighter 2。而且我无法在短语搜索中使用通配符 - “Virtua Fighter*”不会返回任何结果。

需要编写什么类型的查询来支持这一点?或者什么类型的 Lucene 查询用于简单的网站搜索引擎?

最佳答案

我猜您正在使用关键字分析器来分析标题? (或者另一个不按标记进行拆分的分析器。)

您应该只使用标准分析器,然后短语查询就可以正常工作。

关于lucene - 如何为网站搜索引擎编写 Lucene 查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4709671/

相关文章:

json - ElasticSearch-索引和搜索嵌套的JSON记录,其中键的嵌套级别在JSON文档中有所不同

java - 使用 SolrJ 客户端连接器 3.6 连接到 Solr 1.4

tomcat - 无法使用 Puppet 在 Tomcat 上部署 Solr

linux - Apache Nutch 和 Solr 集成

java - 在我的 Tapestry 网站上编写搜索代码?

php - 在一个后台为MYSQL的网站上集成搜索

javascript - Alfresco SetInherite 权限 webscript 安全 api

java - 在lucene中搜索时需要创建term shingles

java - Lucene:单个术语中的多个单词

string - Babel 图书馆的搜索速度如何?