在上一篇我们介绍term搜索和termfilter过滤器的时候,我们注意到有使用constant_score关键词,这个关键词是什么意思呢?其实就是对查询进行优化,也就是不需要对查询进行评分计算,只希望对文档进行匹配搜索或者过滤即可。所以在查询语句中,我们一般把这个constant_score关键词也成为非评分模式。
constant_score的应用范围主要是在filter里面,在elasticsearch7.x的版本里面使用filter查询,在json里面一定会拼装constant_score这个关键词,例如:
{ "query": { "constant_score": { "filter": { "term": { "device_name": "设备4 " } } } } }
在返回的里面,这个device_name是不会参与评分的,例如:
这里由于没有其他查询条件,因此没有纳入评分计算的条件,因此可以看到打分固定为1.
还没有评论,来说两句吧...