2

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

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

1 回答 1

6

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

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

于 2013-09-27T16:42:46.073 回答