200字范文,内容丰富有趣,生活中的好帮手!
200字范文 > es获取最大时间的记录_ES查询一段时间内某一循环时间段的数据

es获取最大时间的记录_ES查询一段时间内某一循环时间段的数据

时间:2024-07-03 19:26:23

相关推荐

es获取最大时间的记录_ES查询一段时间内某一循环时间段的数据

业务需求:查询几个月类每天8点到10点的数据

最开始基于date类型,用painless脚本实现,用profile跟了下效率感觉不是很好,就冗余了个字段做range过滤,也一般,lucence了解的不是很深入,不知道有没有基于时间戳更好的实现,单独列出来备注下,后期看看是否有更好的实现

static public StringscriptQueryByTime(String startTime, String endTime ){

if(StringUtils.isBlank(startTime)||StringUtils.isBlank(endTime)){

return null;

}

int start = Integer.valueOf(startTime.replace(":",""));

int end = Integer.valueOf(endTime.replace(":",""));

String source ="int hour = doc[pass_time].date.hourOfDay;int minute = doc[pass_time].date.minuteOfHour;int flag=hour*100+minute; flag>="+start+"&&flag <="+end+" ";

return "{\"script\":{\"script\":\""+source+"\"}}";

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。