elasticsearch - 如何将 score_mode=sum 与 Elasticsearch 多匹配查询一起使用

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

最佳答案

您可以将use_dis_max 设置为falsemulti_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/

相关文章:

elasticsearch - 带有部分单词搜索的ElasticSearch “H & R Block”

Elasticsearch 分析器仅在我指定搜索字段时使用

elasticsearch - 使用单个标记的 Elasticsearch 匹配短语查询

c# - Elasticsearch CommonTerms Name属性说明

elasticsearch - Elasticsearch位置数组的非法映射

scala - 错误:java.lang.NoSuchMethodError:com.google.common.util.concurrent.MoreExecutors.directExecutor()Ljava/util/concurrent/Executor;

php - 每个实体一个查询

elasticsearch - 没有在字段ElasticSearch上声明类型[geo-point]的处理程序

jdbc - 我可以在Logstash中使用mutate过滤器将某些字段转换为genjdbc输入的整数吗?

rest - Elasticsearch-无法识别网址中的指定参数