愚者求师之过,智者从师之长。

关于默认排序的问题。

Elasticsearch | 作者 solike8 | 发布于2020年07月10日 | 阅读数:3610

最近在工作闲暇的时候做了一个测试,以下查询全部不涉及到相关性查询,当我以_doc作为排序字段时,当我已某一具体字段排序时,当我不加sort(或排序的字段值都一样时)时,是完全3中不同的结果。
 
理论上按照固定字段排序,比如id或时间字段排序是没问题的,顺序也是我想要的,
 
_doc排序按照官网所说应该是lucene的docid,这个也没问题
 
当我在不加sort的时候,查询出来的结果也是有顺序的,而且每次都一样,那么这个顺序是依靠什么算出来的呢?
 
这几天一直想这个问题,顺便看了一下lucene的源码,发现其实lucene在无相关性排序的时候默认也是按照docid来的,那这就奇怪了,同时在es中我每次查询返回的docid为什么都是-1?
已邀请:

solike8 - 95后,挨打男

赞同来自:

此贴重复,由于一直审核所以重新发了一篇

WarrenW

赞同来自:

分数

要回复问题请先登录注册