【发布时间】:2015-05-14 23:49:50
【问题描述】:
我在 Elasticsearch 上索引了一些文档,看起来像这些示例:
{'country': 'France', 'collected': '2015-03-12', 'value': 20}
{'country': 'Canada', 'collected': '2015-03-12', 'value': 21}
{'country': 'Brazil', 'collected': '2015-03-12', 'value': 33}
{'country': 'France', 'collected': '2015-02-01', 'value': 10}
{'country': 'Canada', 'collected': '2015-02-01', 'value': 11}
{'country': 'Mexico', 'collected': '2015-02-01', 'value': 9}
...
我想构建一个查询,每个国家/地区获取一个结果,只获取带有max(collected) 的结果。
因此,对于上面显示的示例,结果将类似于:
{'country': 'France', 'collected': '2015-03-12', 'value': 20}
{'country': 'Canada', 'collected': '2015-03-12', 'value': 21}
{'country': 'Brazil', 'collected': '2015-03-12', 'value': 33}
{'country': 'Mexico', 'collected': '2015-02-01', 'value': 9}
我意识到我需要在 country 上进行聚合,但我不明白如何限制 max(collected) 上的结果。
有什么想法吗?
【问题讨论】:
标签: elasticsearch