Easysearch、Elasticsearch 还是 Opensearch,是个问题

能否只比较小时不比较天?

Kibana | 作者 moviwhat | 发布于2017年11月13日 | 阅读数:2728

假设2017年11月11日11点11分这样的时间点,我只想匹配时间里面的几点几分,可不可以实现呢?谢谢
已邀请:

eric930721

赞同来自:

当然可以呀 也就是说你要查的那一分钟60秒的数据呗

RangeQueryBuilder date = QueryBuilders.rangeQuery(rangefiled)
.gte(timestart).lt(timeend);
 
你把你的起始时间结束时间+60s 放进去就是了

kennywu76 - Wood

赞同来自:

我猜测提问者的意思,是要根据时间字段,查询所有a点b分到  x点y分之间的数据,而不管是哪一天。 
 
如果我理解正确的话,可以想到两种方式来实现:
1. 对时间字段用script query过滤, 忽略天的时间处理和对比逻辑在脚本里完成,但这样势必非常的慢。 
2. 额外索引一个整型字段,比如叫做minutes_of_day, 记录的是时间字段从当天00:00:00开始的分钟偏移量,这样查询的时候,可以在查询条件里, 直接将查询的小时/分钟时间范围,转换为分钟数的偏移范围,速度非常快。

要回复问题请先登录注册