Elasticsearch查询相关总结以及timestamp和时区问题
生活随笔
收集整理的这篇文章主要介绍了
Elasticsearch查询相关总结以及timestamp和时区问题
小编觉得挺不错的,现在分享给大家,帮大家做个参考.
ES查询相关
参考:https://www.cnblogs.com/qdhxhz/p/11493677.html
-
如果想筛选出特定时间段的event,可以在查询语句里使用post_filter
POST /wangtest_re/_search {"post_filter":{"range": {"@timestamp": {"gte": "2012-08-01T15:00:00.000+800","lte": "2012-08-01T15:00:00.000+800"}}}...} -
也可以把range写在query语句里,但是用户使用where语句的时候,也是放置在query里的,所以无法预知客户的输入,所以range语句放不进去
-
post_filter,是查询后再过滤的,因为不需要计算score,所以速度更快,而且数据会缓存
时区问题
参考:https://segmentfault.com/a/1190000022064788
https://blog.csdn.net/lijingjingchn/article/details/100576088
-
时间戳:unix时间戳是从1970年1月1日(UTC/GMT的午夜)开始所经过的秒数,不考虑闰秒
-
因为给用户看UTC时间不合适,所以最好的做法是,让es输出时间戳,后台根据时间戳再转换成2021-12-12 12:12:12的格式
时间戳和时间转换代码:
https://felix.blog.csdn.net/article/details/51355282
#coding:UTF-8 import timetimestamp = 1462451334 # 如果需要格式转换,这里用float格式#转换成localtime time_local = time.localtime(timestamp) #转换成新的时间格式(2016-05-05 20:28:54) dt = time.strftime("%Y-%m-%d %H:%M:%S",time_local)print(dt)总结
以上是生活随笔为你收集整理的Elasticsearch查询相关总结以及timestamp和时区问题的全部内容,希望文章能够帮你解决所遇到的问题。
- 上一篇: Elasticsearch集群部署的相关
- 下一篇: 使用Elasticsearch+file