当我在下面提交带有解释的多重匹配查询时,似乎评分使用的是匹配字段的最高分...我想要所有字段的总分...我该怎么做。
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" ]
}
}
}'
最佳答案
您可以将use_dis_max
设置为false
。 multi_match
查询默认使用 dis_max
查询,它将采用最大分数而不是总和 - 将 use_dis_max
设置为 false
将使用 bool 查询(将求和)。
来源:http://www.elasticsearch.org/guide/reference/query-dsl/multi-match-query/
关于elasticsearch - 如何将 score_mode=sum 与 Elasticsearch 多匹配查询一起使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19034521/