大牛们,我的问题如下;
我的es 部署在一个集群里面,A机器有两个分片,B机器有3个分片
数据检索时候分别从这5个分片里面检索出来数据
现在,
我对其中一个业务字段设置sort 排序
排序结果里面 没有对结果集统一排序,而是对单个分片结果集排序,依次排shard 1,shard2,。。。
这样造成结果集排序不准确
求教,感谢不尽
.setQuery(QueryBuilders.boolQuery()
.should(QueryBuilders.matchQuery("gKeywords", keyWords).operator(Operator.AND))
.should(QueryBuilders.matchQuery("gName", keyWords).operator(Operator.AND))).addSort("gSalenum",SortOrder.ASC)
.setFrom(0)
.setSize(200)
.setExplain(true);
我的es 部署在一个集群里面,A机器有两个分片,B机器有3个分片
数据检索时候分别从这5个分片里面检索出来数据
现在,
我对其中一个业务字段设置sort 排序
排序结果里面 没有对结果集统一排序,而是对单个分片结果集排序,依次排shard 1,shard2,。。。
这样造成结果集排序不准确
求教,感谢不尽
.setQuery(QueryBuilders.boolQuery()
.should(QueryBuilders.matchQuery("gKeywords", keyWords).operator(Operator.AND))
.should(QueryBuilders.matchQuery("gName", keyWords).operator(Operator.AND))).addSort("gSalenum",SortOrder.ASC)
.setFrom(0)
.setSize(200)
.setExplain(true);
2 个回复
zhang_chuancun
赞同来自:
dongmei
赞同来自: