如何为网站搜索引擎编写Lucene查询
我计划使用ApacheSolr实现我网站的搜索引擎。我建立了一个搜索索引,其中一个文档是: 虚拟战斗机2 执行以下内容的搜索: 虚拟的* 按预期返回以“Virtua”开头的所有记录 搜索“VirtualFighter 2”将返回一个精确匹配 我想搜索“VirtualFighter”以返回结果集中的VirtualFighter 2。但是对VirtualFighter的短语搜索会从结果集中忽略VirtualFighter 2。我无法在短语搜索中使用通配符--“VirtualFighter*”不会返回任何结果如何为网站搜索引擎编写Lucene查询,lucene,solr,search-engine,Lucene,Solr,Search Engine,我计划使用ApacheSolr实现我网站的搜索引擎。我建立了一个搜索索引,其中一个文档是: 虚拟战斗机2 执行以下内容的搜索: 虚拟的* 按预期返回以“Virtua”开头的所有记录 搜索“VirtualFighter 2”将返回一个精确匹配 我想搜索“VirtualFighter”以返回结果集中的VirtualFighter 2。但是对VirtualFighter的短语搜索会从结果集中忽略VirtualFighter 2。我无法在短语搜索中使用通配符--“VirtualFighter*”不会返回
需要编写什么类型的查询来支持这一点?或者什么类型的Lucene查询用于简单的网站搜索引擎?我猜你在使用关键词分析器来分析标题?(或其他不在令牌上拆分的分析器。)
您应该只使用标准的分析器,然后短语查询就可以了。考虑一个用于搜索的复制字段。你必须创建一个新的字段类型,并使用适当的TokenizerFactorys[,但我没有足够的知识给出正确的答案。就是这样。我在标题中使用了一个“字符串”字段类型,它必须默认为关键字分析器。我改为使用“文本”字段类型Solr定义的,使用适当的分析器。