Solr查询字符串不适用于全文搜索

时间:2018-11-03 19:22:25

标签: solr web-crawler

我正在关注this教程,该教程介绍如何使用Solr对示例文档进行索引。如图所示,默认集合为“ gettingstarted”。现在,我正在尝试查询它。如图所示,共有52个条目:

enter image description here

但是,当我将q参数替换为electronics时,它将返回14个结果。但是,我什么也没得到。

当我用q替换查询字符串cat:electronics时,实际上得到了14个结果。但是为什么会这样呢? q=word不应在出现的任何地方搜索word

1 个答案:

答案 0 :(得分:0)

不,不是。您的假设:

  

q =单词不应该在出现的任何地方搜索单词吗?

是错误的。如果您使用word作为唯一查询,仅此而已-您正在the default search field中搜索word。它不会搜索所有可用文档中的所有可用字段。

还请注意,默认查询解析器假定您的查询在Lucene Query Syntax中。要处理更多的“自然”查询,可以use the edismax query parser。该查询解析器支持qf参数,该参数告诉Solr要搜索哪些字段,而不必使用cat:electronics语法。这样,您的示例将是q=electronics&qf=cat

在您提供的示例文档中,qf=series_t author name cat可能是一个不错的值,可以在所有这些字段中搜索给定的查询。您还可以在字段名称后附加^<weight>,以使不同字段中的匹配项具有不同的权重。 qf=name^10 catname中的匹配将是cat字段中匹配的重量的十倍。