当前位置:  开发笔记 > 数据库 > 正文

elasticsearch查询日期范围

如何解决《elasticsearch查询日期范围》经验,为你挑选了1个好方法。

我的elasticsearch有数据,尤其是日期类似的东西:

{
  "startTime": {
    "type": "string",
    "format": "yyyy/MM/dd",
    "index": "analyzed",
    "analyzer": "keyword"
  }
}

我正在添加一个日期范围选择器,并希望使用所选日期来查询elasticsearch以获取所选范围内的startTime数据.我不确定如何将此查询构造为elasticsearch,或者它是否可以使用这是一个字符串字段(尽管我可以改变它).

有人能帮我一下吗?



1> javanna..:

您的字段是字符串,格式属性将被忽略.您应该更改映射并使用date类型.看看这里有弹性搜索中可用的核心类型.

我会使用过滤器而不是查询.它将被缓存,因此更快.以下是过去7天的示例:

{
    "filter" : {
        "range" : {
            "PublishTime" : {
                "from" : "20130505T000000",
                "to" : "20131105T235959"
            }
        }
    }
}

请注意,如果您使用这样的过滤器,那么整天都将使用相同的过滤器,因此您可以充分利用缓存.

推荐阅读
小妖694_807
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有