我计划使用 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/