solr无法搜索确切的值

时间:2013-05-21 15:42:42

标签: apache configuration solr lucene indexing

我正在使用Solr 4.1.0,我面临一个奇怪的问题。如果我给一个值来搜索一个字段,即使它是精确的或涉及一个通配符,它​​给我0搜索结果。另一方面,如果我只给出字段名称和*代替值,我得到所有结果。

另外,如果我在文本字段中搜索,即我复制了所有字段的值,它会给我正确的输出。文本是默认情况下,我的所有字段都是catch-all。 feature是一个具有Butter值的字段。

所以现在,这里发生的事情是,如果我尝试在具有确切值的实际字段中找到,或者甚至用起始字母和*来找到它,如果我在文本字段中搜索,它就不会给我一个值,这是一个全能的领域,我能够检索价值。虽然如果我尝试使用*在功能字段中找到它,它会正确地为我提供完整的结果列表。

您可以查看text:Butter here的日志,feature:Butter here的日志,feature:B* here的日志以及{feature:*的日志1}} here

我只是在这个特定领域遇到这个问题。有什么可能是这个奇怪问题背后原因的指针?

1 个答案:

答案 0 :(得分:0)

如果您在没有字段名称的情况下进行搜索,Solr将在默认搜索字段中进行搜索 因此,请确保将要搜索的字段标记为默认值 如果您使用的是dismax查询处理程序,则可以将它们添加到qf参数中。

此外,对于通配符查询,请选中[Analyzers] [1]

On wildcard and fuzzy searches, no text analysis is performed on the search word.

由于在查询时没有对wilcard搜索进行分析,因此没有进行分析,因此在查询时间内不会应用词干,而只会在索引时间内应用词干。