这两天用es时遇到一个问题是,我需要按一个创建时间字段排序,索引库里有数据时没有问题,但是当索引库里一条数据也没有时,就会报错。。百度后发现需要在sort时设定"unmapped_type" : "date"
java代码如下:
FieldSortBuilder fieldSortBuilder = SortBuilders.fieldSort("createDate") .order(SortOrder.DESC).unmappedType("date"); searchSourceBuilder.sort(fieldSortBuilder);
看了几篇博客,大致的原因是没有数据时索引库里还没有这个字段的mapping,当第一条数据插入时才真正建立这个字段的mapping。