elasticsearch 如何按时间字段降序查询弹性查询数据

zf2sa74q  于 2022-12-03  发布在  ElasticSearch
关注(0)|答案(1)|浏览(144)

我在elasticsearch中有一个数据,它的时间字段为Created。下面是该数据:

{
    "_index": "machine",
    "_type": "health",
    "_id": "30",
    "_score": 1,
    "_source": {
      "Data": {
        "DataId": "46",
        "Created": "2018-06-11T07:31:33.739575"
      },
      "Datacount": 2,
      "hostname": "username",
      "health": "running"
    }
  }

在上面的数据中,我使用Data.Created作为elasticsearch中的时间字段。现在我想查询我打开Dev Tools并输入以下命令的数据:

GET machine/health/_search?

这样我就得到了属于index的所有数据machine和属于type的所有数据health。我怎样才能根据Data.Created对这些数据进行降序排序,使最新的数据排在最前面。同样,我们怎样才能只得到两个时间范围之间的数据呢?
谢谢

mwecs4sa

mwecs4sa1#

只需添加sort query string parameter

GET machine/health/_search?sort=Data.Created:desc

要添加一个范围,您可以这样做:

GET machine/health/_search?sort=Data.Created:desc&q=Data.Created:[2018-06-10T00:00:00 TO 2018-06-11T00:00:00]

相关问题