Elasticsearch 基础教程

Elasticsearch 高级教程

Elasticsearch 插件

Elasticsearch 笔记

Elasticsearch FAQ

original icon
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.knowledgedict.com/tutorial/elasticsearch-get-time-range-result.html

es 如何查询时间段之间的内容

Elasticsearch 笔记 Elasticsearch 笔记


elasticsearch(es)如何查询指定时间段之间的文档列表?

推荐方式

es 的词项查询(term query)提供了范围查询 range query,它用于匹配在某一范围内的数值型、日期类型或者字符串型字段的文档。

elasticsearch 的时间类型表现形式有如下几种格式:

  1. 格式化日期的字符串,如 "2015-01-01" 或 "2015/01/01 12:10:30";
  2. 代表 milliseconds-since-the-epoch 的长整型数(epoch 指的是一个特定的时间:1970-01-01 00:00:00 UTC);
  3. 代表 seconds-since-the-epoch 的整型数

Elasticsearch 内部会把日期转换为 UTC(世界标准时间),并将其存储为表示 milliseconds-since-the-epoch 的长整型数,这样做的原因是和字符串相比,数值在存储和处理时更快。

假设查询创作日期在 2015 年 1 月 1 日和 2019 年 12 月 31 之间的文章内容,对 create_time 字段进行范围查询。

{
  "query": {
    "range": {
      "create_time": {
        "gte": "2015-01-01",
        "lte": "2019-12-31",
        "format": "yyyy-MM-dd"
      }
    }
  }
}

 

Java 开发中,我们往往需要从非结构化的文本数据中截取两个特定字符之间的内容,可以利用正则表达式获取其间信息。 ...
当您说"ES查询语句",我认为您是在询问Elasticsearch(简称ES)中的查询语句。`"title"`:这是要匹 ...
要查询Elasticsearch中已关闭的索引,您可以使用Elasticsearch的RESTAPI。以下是一个使用Python进行查询的示 ...
在Java的控制器(Controller)之间传递值,主要是为了实现不同控制器之间的数据共享和通信。在`ControllerA`中将值存储到 ...
###使用Elasticsearch-Py库进行查询使用Elasticsearch-Py库是与Elasticsearch交互的一种常见方式。 ...