【问题标题】:Solr default search field for multiple fields which has different analyzers具有不同分析器的多个字段的 Solr 默认搜索字段
【发布时间】:2020-10-02 09:35:08
【问题描述】:

我有一个包含 titlestockCodecategory 字段的文档。

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

因此,我不想使用关键字“sample”搜索文档,并构建查询,例如 title:sample OR stockCode:sample OR category:sample .

我想只使用“q=sample”进行搜索。

我将我的字段复制到 text 但它不起作用。因为所有字段都分析为相同。但我不想将 stockCode 索引为 EdgeNgram 或任何其他过滤器。我想按照我的配置索引我的字段,并且我想根据我的索引在它们上搜索关键字。

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

【问题讨论】:

    标签: search indexing solr lucene


    【解决方案1】:

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

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

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

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

    【讨论】:

    • 我会尽快检查 ;)
    猜你喜欢
    • 2013-06-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-10-21
    • 2022-12-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多