如何在Elasticsearch多匹配查询中使用score_mode = sum

时间:2013-09-26 17:16:14

标签: elasticsearch

当我在下面用解释提交我的多场比赛查询时,看起来评分是使用匹配字段的最高分...我想要所有字段的总分...我该怎么做呢。

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" ]
        }
    }
}'

1 个答案:

答案 0 :(得分:6)

您可以将use_dis_max设置为falsemulti_match查询默认使用dis_max查询,该查询将采用最高分而不是总和 - 设置use_dis_maxfalse将使用bool查询(将采用总和)。

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