2017-07-26 43 views
0

如果有用戶Solr的數據和目標Solr的得到聚集功能的計數

{user_id: user1,goals: 1} 
{user_id: user1,goals: 3} 
{user_id: user2,goals: 0} 
{user_id: user2,goals: 4} 
{user_id: user3,goals: 2} 
{user_id: user3,goals: 1} 

我想了解有多少用戶已經打進1,2,3,...,在總進球數。

所以上面我的數據要查詢,可以返回

{goals: 3, count: 1} 
{goals: 4, count: 2} 

到目前爲止,我有一個查詢,可以返回的目標,爲每個用戶的總數量,但我不知道是否有可能以小面的總計

我的查詢到目前爲止

{ 
    "user_facet": 
    { 
    "type":"terms", 
    "field":"user_id", 
    "facet": 
    { 
     "sum_of_goals":"sum(goals)" 
    } 
    } 
} 
+0

你能改說嗎?難以理解的樣本似乎並不符合我的數據... – Persimmonium

+0

基本上有兩個階段,總共每個用戶的目標,所以用戶1 = 4,用戶2 = 4,用戶3 = 3個目標。然後我想統計已經獲得3個進球數= 1,4個進球數= 2 –

+0

的用戶數,那麼{user_id:user1,goals:1}是什麼意思,user1已經完成了「user1已經完成」的「進球1」總共1個目標「 – Persimmonium

回答

1

我不認爲你可以用JSON方面得到這個。但肯定的是,這可能與Streaming Expressions。他們開始有點複雜,但你可以完成更多的事情。

+0

謝謝,現在我使用查詢來獲取每個用戶的總數,並在Ruby中處理結果來計算我需要的數據,但我會查看流式表達式 –