【发布时间】:2016-01-23 04:47:12
【问题描述】:
我需要获得前 n 个用户,因为他们在弹性搜索的不同日期拥有的数字字段的总和。
例如,对于下面的文档获得前 2 个:
doc1 -> user_id: 1, name: hasan, numeric_field: 2, date_calculated: 03-10-2015
doc2 -> user_id: 2, name: veli, numeric_field: 3, date_calculated: 03-10-2015
doc3 -> user_id: 3, name: osman, numeric_field: 1, date_calculated: 03-10-2015
doc4 -> user_id: 1, name: hasan, numeric_field: 3, date_calculated: 04-10-2015
doc5 -> user_id: 2, name: veli, numeric_field: 5, date_calculated: 04-10-2015
doc6 -> user_id: 3, name: osman, numeric_field: 7, date_calculated: 04-10-2015
doc7 -> user_id: 1, name: hasan, numeric_field: 5, date_calculated: 05-10-2015
doc8 -> user_id: 2, name: veli, numeric_field: 8, date_calculated: 05-10-2015
doc9 -> user_id: 3, name: osman, numeric_field: 9, date_calculated: 05-10-2015
按用户分组的 numeric_field 的总和 => hasan : 10, veli : 16, osman : 17
对于这个例子,我需要将结果排在前 2 -> { osman : 17, veli : 16 }
我应该对此有什么类型的查询?
【问题讨论】:
标签: sorting elasticsearch sum aggregation