最近几天有几位同学问题, Elasticsearch 日期字段怎么处理,怎么查询。确实看上去有点复杂,今天我在这里详细说下日期查询。另外之前写了深入Elasticsearch Date类型存储的博客:https://www.sojson.com/blog/149.html,有时间可以看看,先看下面的吧。
Elasticsearch 日期存储 Java API
存储的时候,我采用的方式是直接存储Date类型。上部分代码。//Map集合
for (Map source : jsonArray) {
//直接
IndexRequestBuilder lrb = ESTools.client.prepareIndex(index, type,id)
//直接set
.setSource(source);
//TTL
if(null != timer && timer.length > 0){
lrb.setTTL(timer[0]);
}
bulkRequest.add(lrb);
}
如果有日期查询,大量的日期查询,建议想清楚,是以String,Date,还是Long类型的毫秒值,怎么存储怎么查询。
Elasticsearch 日期查询 Java API
先来一个完整的业务代码。里面包含时间查询,其实业务很简单,我就需要当天的数据。/**
* 浏览记录,分页查询
* @param key用户key
* @param pageSizesize
* @