Elasticsearch按Rails中的时间范围分组

时间:2018-01-22 08:30:00

标签: ruby-on-rails ruby elasticsearch

我有一个大型数据集,我需要根据created_at时间对值进行分组。

要求是按 5分钟间隔进行分组。

我认为应该这样做,但它似乎不起作用:

self.search(aggs: {created_at: {date_histogram: {field: 'created_at', interval: 
'5m'}}})

这是搜索查询:

curl http://localhost:9200/prices_development/_search?pretty -d '{"query":
{"match_all":{}},"size":1000,"from":0,"aggs":{"created_at":{"date_histogram":
{"field":"created_at","interval":"5m"}}},"timeout":"11s","_source":false}'

它只是让我回到整个数据集。即每条记录:

rails console

如何以5分钟为间隔取回数据集?

1 个答案:

答案 0 :(得分:1)

汇总结果显示在回复的aggregations字段中,而不是hits

size内设置aggs以限制聚合数量。

如果您只想要汇总结果,请将外部size设置为0