首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在Elasticsearch中搜索精确的日期匹配

如何在Elasticsearch中搜索精确的日期匹配
EN

Stack Overflow用户
提问于 2016-11-22 05:10:21
回答 2查看 3.6K关注 0票数 2

例如,我的ES数据库中有几个条目,其中的字段包含2020-02-26T05:24:55.757Z。是否可以(使用URI搜索、_search?q=...)搜索确切的日期?例如,在本例中,我希望查找2020-02-26年的项目。这有可能吗?

EN

回答 2

Stack Overflow用户

发布于 2016-11-22 06:27:18

是的,这是可能的。你可以参考query string documentation来获取更多信息。

代码语言:javascript
运行
复制
curl localhost:9200/your_index_name/_search?q=your_date_field:%7B2020-02-26%20TO%20*%7D

你需要对url进行编码。查询部分看起来像q=your_date_field:{2020-02-26 TO *}

REST api中的上述查询如下所示

代码语言:javascript
运行
复制
{
  "query": {
    "range": {
      "your_date_field": {
        "gte": "2020-02-26"
      }
    }
  }
}

对于exact来说,下面的日期可以工作

代码语言:javascript
运行
复制
curl localhost:9200/your_index_name/_search?q=your_date_field:2020-02-26
票数 0
EN

Stack Overflow用户

发布于 2021-07-20 21:53:09

虽然这个问题很老,但我是偶然遇到的,所以也许其他人也会这样做。

如果只想在UTC中工作,可以使用match查询,如下所示:

代码语言:javascript
运行
复制
{
  "query": {
    "match": {
      "your_date_field": {
        "query": "2020-02-26"
      }
    }
  }
}

如果您需要考虑在不同时区的特定日期匹配的内容,则必须使用range查询,例如:

代码语言:javascript
运行
复制
{
  "query": {
    "range": {
      "your_date_field": {
        "gte": "2020-02-26",
        "lte": "2020-02-26",
        "time_zone": "-08:00"
      }
    }
  }
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40729456

复制
相关文章

相似问题

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