ZPY博客

ElasticSearch7.x索引库里为空时按某个字段sort排序时报错

这两天用es时遇到一个问题是,我需要按一个创建时间字段排序索引库里有数据时没有问题,但是当索引库里一条数据也没有时,就会报错。。百度后发现需要在sort时设定"unmapped_type" : "date"

java代码如下:

FieldSortBuilder fieldSortBuilder = SortBuilders.fieldSort("createDate")
                .order(SortOrder.DESC).unmappedType("date");
        searchSourceBuilder.sort(fieldSortBuilder);

看了几篇博客,大致的原因是没有数据时索引库里还没有这个字段的mapping,当第一条数据插入时才真正建立这个字段的mapping。