栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 前沿技术 > 大数据 > 大数据系统

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 time

timestamp = 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)


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/304396.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号