2016-03-14 23 views
0

我想了解在我們的使用案例中,加熱器會如何幫助我們。Elasticsearch加熱器使用方法

假設我們有物品的記錄,物品有供應商屬性。

{ 
    item_name:"item1", 
    vendor_id:"abc", 
    ... 
}, 
{ 
    item_name:"item2", 
    vendor_id:"abc", 
    ... 
}, 
{ 
    item_name:"item3", 
    vendor_id:"xyz", 
    ... 
}, 
{ 
    item_name:"item4", 
    vendor_id:"xyz" 
    ... 
} 

我們不斷索引新項目。並且大多數查詢基於具有不同過濾器的vender_id,並且查詢性能對我們來說不是主意。它看起來可以通過更溫暖的方式進行優化,這會將我們的過濾器加載到緩存中供將來查詢。

我的問題是,如果我設置的回暖,包括:

{ 
    "vendor_id":"abc" 
} 

但願熱身查詢VENDOR_ID =「XYZ」也加快了查詢?或者,緩存是否僅包含vendor_id =「abc」的過濾器?如果不是,推薦強制所有vendor_id過濾器被緩存的方式是什麼?

任何意見,將不勝感激。

感謝,

回答

2

如果您註冊一個溫暖的熱身一個針對特定領域的查詢,ES將用於在各個高速緩存(fielddata器,濾波器等)

所以字段加載所有的值爲"vendor_id": "abc"一個簡單的查詢確實會加載所有值,這意味着還"xyz""def"

但是,你需要知道,保溫將是removed in version 5,他們不會再有用由於使用的doc values

+0

感謝您的回覆。只是爲了澄清,你是否說如果我爲vendor_id設置doc_values = true,那麼對vendor_id加熱會沒有任何影響? – ProgBear

+0

是的,不應該有任何效果。 – Val

+0

感謝您的回覆! – ProgBear