关于ES的_id不能排序和聚合的误解

在很多的博客里面都提到过ES的_id不能进行排序,必须使用_uid,这个提法已经过时了,通过实践可以得知,使用_id是可以排序的,并不会报错。

{
	"sort":[
        {
            "_id": {
                "order":"desc"
            }
        }
    ]
}

_uid在ES的6.0.0版本已经被废弃了,为什么呢?因为在6.0版本以后,_type属性没有了,那么建立在_type之上的_uid也就没有存在的必要了。文档通过其_id进行唯一标识,_uid字段仅作为_id字段的视图保留了下来,以实现向后兼容性。

_id字段的值可以用来进行聚合和排序,但不鼓励这样做,因为它需要在内存中加载大量数据。如果需要对_id字段进行排序或聚合,建议使用另外一个字段来存储与_id一样的值


版权声明:本文为duzm200542901104原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。