2014-10-30 71 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

相關問題