悟空,拿我的打狗棒来

ElasticSearch沉底 排序如何做

Elasticsearch | 作者 Dalon | 发布于2022年03月23日 | 阅读数:1083

有个需求,多个字段做排序。其中有个字段只有两个值(1和0)1是有效数据,0 是无效数据。这边要做ES的分页,所有我想对这个字段进行排序。如果是0 做沉底操作。不参与其他字段的算分。希望大家帮帮忙。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。
Elaticsearch7.9 版本
已邀请:

spoofer

赞同来自: Dalon

没太明白你的需求~ 这个字段只有 0 和 1 本身这个字段应该就不用算分了因为没啥意义,为啥还要对这个字段排序?
 
是想这个字段匹配 1 的时候优先显示, 然后显示完所有 1 后,再显示匹配 0 的?
 
提供两个算分的利器:

Boosting Query,在 positive 块中指定匹配文档的语句,同时降低在 negative 块中也匹配的文档的得分,提供调整相关性算分的能力
 

function_score Query 允许你在查询结束以后去修改每一个匹配文档的相关性算分,所以使用算分函数可以改变或者替换原来的相关性算分结果。
 
官方文档
 
 
 

要回复问题请先登录注册