我目前正試圖在elasticsearch中做一些幻想......並且它幾乎可以正常工作。Elasticsearch是通過「部分術語」而不是「整個術語」進行聚合
用例:我必須將每個特定字段的結果數量限制爲(x)個結果。
例如:在一組餐廳中,我只想返回每個餐廳名稱的兩個位置。如果我搜索墨西哥食品,那麼我應該得到(x)Taco Bell點擊,(x)Del Taco點擊和(x)El Torito點擊。
問題:我的聚合當前只匹配該詞的部分。
比如:如果我嘗試匹配company_name
,它將爲塔科一個桶,另一桶鍾,所以塔可鍾可能會在2桶露面,導致(x) * 2
結果那家公司。
我很難相信這是理想的行爲。有沒有一種方法可以用整個搜索詞來聚合?
這裏是我當前聚合JSON:
"aggs": {
"by_company": {
"terms": {
"field": "company_name"
},
"aggs": {
"first_hit": {
"top_hits": {"size":1, "from": 0}
}
}
}
}
您的幫助下,一如既往,非常感謝!
太謝謝你了!我甚至沒有測試過這個,但基於我已經瞭解的ES,我確信這是解決方案。你絕對幫助啓發我ES的工作方式,我應該已經知道,但沒有。 – 2014-12-03 19:03:42