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集群部署的相关
- 下一篇: Python3高并发定时更新任务进程池和