如果我理解正確的話,你要通過用戶獲得頂級條款
POST /tweets/tweet
{
"text": "We're researching technology",
"user": 1,
"hasttags": ["hastag", "hastag1"]
}
POST /tweets/tweet
{
"text": "We have a little experience with an older version of ES #hastag",
"user": 1,
"hasttags": ["hastag", "hastag2"]
}
POST /tweets/tweet
{
"text": "For each one of the 10,000 tweeters, what are the top-10 most #hastag",
"user": 2,
"hasttags": ["hastag", "hastag3"]
}
POST /tweets/_search
{
"size": 0,
"query": {
"terms": {
"user": [
"1"
]
}
},
"aggs": {
"users": {
"terms": {
"field": "user",
"size": 10
},
"aggs": {
"terms": {
"terms": {
"field": "text",
"size": 10
}
},
"hasttags": {
"terms": {
"field": "hasttags",
"size": 10
}
}
}
}
}
}
這是例子,因爲這裏的問題是,它僅限於10個用戶,因爲在ES 1.4是沒有辦法通過聚合進行分頁。另一方面,您可以指定大小爲10,000,但您需要嘗試查看它是如何在真實數據和羣集計算機上工作的,因爲它需要更多內存。我在我的搜索引擎中創建最常用的搜索詞,我爲聚合設置1000,它工作得很酷。
TODO: 查找到stop words排除像「等
感謝,我們將探討這個「一」,」條件!注意我之後做了一個編輯,說當應用程序的最終用戶請求它們時,我們只需要這樣的統計信息。這可能會簡化這個問題,我不知道。 – David
@David您更新了querstion有標籤,所以在幾分鐘內我會更新我的答案 –
@David我已經更新了我的答案,如果我正確地理解了您的話,「當最終用戶要求他們」意味着您的數量有限用戶在哪裏你想獲得統計數據,如果那是正確的,那麼我看到我更新的問題 –