今天在优化es查询语句时,发现了一个奇怪的问题,当我只是使用bool查询的时候,返回的结果中”max_score”:是有值的,当我在bool查询后面加上了sort:
"sort" : [ {
"requestTime" : {
"order" : "desc"
}
} ]
返回的结果中”max_score”的值为null,然后查询官方文档找到了答案:
_score 和 max_score 字段都是 null 。 计算 _score 的花销巨大,通常仅用于排序; 如果我们并不根据相关性排序,所以记录 _score 是没有意义的。如果无论如何你都要计算 _score , 你可以将 track_scores 参数设置为 true 。
官方地址:
https://elasticsearch.cn/book/elasticsearch_definitive_guide_2.x/_Sorting.html