0

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

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

所以现在,这里发生的事情是,如果我尝试在实际字段中查找具有确切值甚至起始字母和 * 的字段,如果我在文本字段中搜索,它不会给我一个值,即一个包罗万象的字段,我能够检索该值。尽管如果我尝试使用 * 在特征字段中查找,它会正确地为我提供完整的结果列表。

您可以查看text:Butter 此处的日志、feature:Butter 此处的日志、feature:B* 此处的日志和此处的日志feature:*

我只在这个特定领域面临这个问题。任何指向这个奇怪问题背后的原因的指针?

4

1 回答 1

0

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

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

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

由于在查询时没有对通配符搜索进行任何分析,因此在查询时不会应用词干提取,而只会在索引时应用。

于 2013-05-22T03:55:39.520 回答