Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/solr/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何为网站搜索引擎编写Lucene查询_Lucene_Solr_Search Engine - Fatal编程技术网

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

如何为网站搜索引擎编写Lucene查询,lucene,solr,search-engine,Lucene,Solr,Search Engine,我计划使用ApacheSolr实现我网站的搜索引擎。我建立了一个搜索索引,其中一个文档是: 虚拟战斗机2 执行以下内容的搜索: 虚拟的* 按预期返回以“Virtua”开头的所有记录 搜索“VirtualFighter 2”将返回一个精确匹配 我想搜索“VirtualFighter”以返回结果集中的VirtualFighter 2。但是对VirtualFighter的短语搜索会从结果集中忽略VirtualFighter 2。我无法在短语搜索中使用通配符--“VirtualFighter*”不会返回

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

虚拟战斗机2

执行以下内容的搜索: 虚拟的*

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

搜索“VirtualFighter 2”将返回一个精确匹配

我想搜索“VirtualFighter”以返回结果集中的VirtualFighter 2。但是对VirtualFighter的短语搜索会从结果集中忽略VirtualFighter 2。我无法在短语搜索中使用通配符--“VirtualFighter*”不会返回任何结果


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

我猜你在使用关键词分析器来分析标题?(或其他不在令牌上拆分的分析器。)


您应该只使用标准的分析器,然后短语查询就可以了。

考虑一个用于搜索的复制字段。你必须创建一个新的字段类型,并使用适当的TokenizerFactorys[,但我没有足够的知识给出正确的答案。就是这样。我在标题中使用了一个“字符串”字段类型,它必须默认为关键字分析器。我改为使用“文本”字段类型Solr定义的,使用适当的分析器。