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

Ala*_*sen 2 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" ]
        }
    }
}'
Run Code Online (Sandbox Code Playgroud)

小智 6

你可以设置use_dis_maxfalse.该multi_match查询默认使用dis_max的查询,将采取最高得分,而不是总和-设定use_dis_maxfalse将使用布尔查询(将于总和).

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