首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >elasticsearch按范围查询日期

elasticsearch按范围查询日期
EN

Stack Overflow用户
提问于 2013-05-11 08:22:13
回答 1查看 15.4K关注 0票数 2

我的elasticsearch有数据,特别是日期的数据:

代码语言:javascript
复制
{
  "startTime": {
    "type": "string",
    "format": "yyyy/MM/dd",
    "index": "analyzed",
    "analyzer": "keyword"
  }
}

我正在添加一个date range picker,并希望使用挑选的日期来查询elasticsearch中选择的startTime范围内的数据。我不确定如何在elasticsearch中构造这个查询,也不确定它作为字符串字段是否可以工作(不过我可能会修改它)。

有人能帮我吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-05-11 17:02:05

您的字段是字符串,将忽略format属性。您应该更改映射并使用date类型。看看here,看看elasticsearch中可用的核心类型。

我会使用筛选器而不是查询。它将被缓存,因此速度更快。以下是最近7天的示例:

代码语言:javascript
复制
{
    "filter" : {
        "range" : {
            "PublishTime" : {
                "from" : "20130505T000000",
                "to" : "20131105T235959"
            }
        }
    }
}

请注意,如果您像这样使用筛选器,那么它将一整天都是相同的筛选器,因此您可以很好地利用缓存。

票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16492534

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档