具有不同分析器的多个字段的 Solr 默认搜索字段

Solr default search field for multiple fields which has different analyzers

我有一份文档,其中包含 titlestockCodecategory 字段。

我有不同的字段类型(和分析链)。例如 title 有 EdgeNGram 2 到 20,category 有 EdgeNGram 3 到 10,范围不同,stockCode只有小写过滤器。

因此,我不想通过构建 title:sample 或 [=44= 这样的查询来搜索具有关键字“sample”的文档] 或 category:sample.

我想搜索“q=sample”。

我将我的字段复制到 text 但它不起作用。因为所有的领域分析都是一样的。但我不想将 stockCode 索引为 EdgeNGram 或任何其他过滤器。我想按照我的配置为我的字段编制索引,并且我想根据我的索引在这些字段上搜索关键字。

我已经研究了三天了,Solr 的文档有点差。

您可以使用 edismax 处理程序,因为这将允许您提供要查询的字段列表并自行提供查询。您还可以为每个字段赋予单独的权重,以便对它们进行不同的评分。

defType=edismax&q=sample&qf=title^10 stockCode category

.. 将在三个字段中的每一个中搜索 sample,从而使 title 字段中的任何命中率提高 10 倍。

您可以在参考指南的 Searchingfind the documentation about the edismax query parser