在elasticsearch中查询最大日期

v1uwarro  于 2021-06-10  发布在  ElasticSearch
关注(0)|答案(2)|浏览(686)

我需要从elasticsearch索引文档的datetime字段中获取最新日期。基本上,我直接在elasticsearch中执行这个查询,返回我所需要的:

GET localhost:9200/index-name/_search

    {
        "aggs" : {
           "max_date": {"max": {"field": "dateTime"}}
        }
    }

我需要在围棋中做同样的查询。我看到奥利弗图书馆有一个maxagregation,但我不知道如何使用它。有人知道怎么做吗?

qjp7pelc

qjp7pelc1#

以下是如何开始使用go库。
在示例化 client ,可以执行以下操作:

maxDateAgg := NewMaxAggregation().Field("dateTime")

builder := client.Search().Index("index-name").Pretty(true)
builder = builder.Aggregation("max_date", maxDateAgg)

之后,打电话 .Do(ctx)builder .

roqulrg3

roqulrg32#

我设法用其中一个答案和一些我已经掌握的东西来实现它:

maxDateAgg := elastic.NewMaxAggregation().Field("dateTime") 

builder := esClient.Search().Index("index-name").Pretty(true) 
builder = builder.Aggregation("max_datetime", maxDateAgg) builder = builder.Size(1).Sort("dateTime",false) 

searchResult, err := builder.Do(ctx)

这将返回文档中具有最大datetime的所有字段,因此我创建了一个struct,json.unmarshall将search.hit.hit源代码Map到struct中,因此我只能从struct中获取datetime字段。

相关问题