2012-08-31 126 views
2

我有一個數字類別ID的elasticsearch指數是這樣的:如何通過值數組來查詢/過濾elasticsearch索引?

{ 
    "id": "50958", 
    "name": "product name", 
    "description": "product description", 
    "upc": "00302590602108", 
    "**categories**": [ 
    "26", 
    "39" 
    ], 
    "price": "15.95" 
} 

我希望能夠通過類別ID的數組(與所有它的父ID的孩子,例如),並返回唯一結果匹配這些類別之一。我一直試圖讓它與術語查詢一起工作,但沒有運氣。

此外,作爲elasticsearch的新用戶,我想知道如果我應該使用這種過濾器/小...

ANSWERED! 我結束了使用術語查詢(而不是術語)。我仍然有興趣瞭解是否有利於使用過濾器或方面。

+0

您可以請幫助我[這個問題](http://stackoverflow.com/questions/24690293/how-to-match-an-數組值逐其鍵合一個鍵 - 值對-elasticsearch陣列)?謝謝 – abi1964

回答

0

正如您已經發現的那樣,termQuery會起作用。不過,我會建議一個termFilter,因爲過濾器更快,並且可以緩存。

方面不會限制結果,但它們是優秀的工具。他們計算您的總結果中的具體條款的點擊率,並用於faceted navigation.

+0

可以請你幫我[這個問題](http://stackoverflow.com/questions/24690293/how-to-match-an-array-value-by-its-key-in-a-key-value -pair-elasticsearch陣列)?謝謝 – abi1964

+0

@AbhishekSimon yep剛剛回復。我可以在幾個小時內包含更多的細節,但我鏈接到您需要使用的類型。 – Andy