2014-10-30 69 views
1

根据我的理解,用于获取度量数据(例如max,min,avg,cnt)的elasticsearch集合。但是,是否有可能在获得全行数据后?如何获得除了elasticsearch聚合之外的其他数据?

所以在SQL语言,这将是通过用户名像

SELECT username, nickname, COUNT(*) FROM posts GROUP BY username ORDER BY 2 desc; 

所以我想组数据,然后取回一些数据,不仅是用户名,和计数,而且绰号,这是从我的理解(和大量的谷歌搜索)很难做或应该使用亲子等。

如何尽可能实现这一点?

+0

您的SQL查询无效。用'username'分组时,你不能选择'昵称'。它不是一个汇总字段。你能解释一下你想用样本数据做一个例子吗? – bittusarkar 2014-10-30 02:06:32

+0

我只想得到我用于聚合的字段旁边的其他字段,例如,当我按'日期'分组,然后以最大值在'已售出'上进行子聚合时,我得到的只有日期,已售出的最大数量,以及没有告诉哪个项目被查询/最受欢迎 – 2014-10-30 05:36:59

回答

0

聚合意味着创建桶并通过这些桶进行计算。但是,如果我理解你的问题,而不是顶级点击聚合可能是你正在寻找的东西。这确实使您能够创建桶并返回这些桶中得分最高的项目。

http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/search-aggregations-metrics-top-hits-aggregation.html

+1

我假设,通过得分,是指搜索得分?我不想要最高分,我已经有一个字段名称'整体类型的销售',我想查询'销售'字段的每日最大值,所以结果是=>'{“1990年1月1日”: {“max”:100,“itemID”:001},“1990年1月2日”:{“max”:101,“itemID”:2}}'。目前,我只能使用指标汇总获取最大财产,并且无法确定哪个商品在“销售”字段= 100(或1月2日的101) – 2014-10-31 01:28:00

相关问题