【问题标题】:How can I use score_mode=sum with Elasticsearch multi-match query如何在 Elasticsearch 多匹配查询中使用 score_mode=sum
【发布时间】:2013-09-28 01:05:26
【问题描述】:

当我在下面提交带有解释的多重匹配查询时,评分似乎使用匹配字段的最高分数...我想要所有字段的总分...我该怎么做。

echo 'Name multi-match BOOSTED query: name.name name.asis name.phonetic name.basename'
curl -sXPOST "localhost:9200/names-test/doc/_search?pretty" -d '{
    "query": {
        "multi_match": {
            "query": "William Jurgenson",
            "fields": [ "name.name^1.6", "name.asis^3", "name.phonetic^1.4", "name.basename^1.2" ]
        }
    }
}'

【问题讨论】:

    标签: elasticsearch


    【解决方案1】:

    您可以将use_dis_max 设置为falsemulti_match 查询默认使用 dis_max 查询,它将采用最大分数而不是总和 - 将 use_dis_max 设置为 false 将使用布尔查询(它将采用总和)。

    来源:http://www.elasticsearch.org/guide/reference/query-dsl/multi-match-query/

    【讨论】:

      猜你喜欢
      • 2019-11-13
      • 2013-11-10
      • 1970-01-01
      • 2018-11-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多