Elasticsearch更温暖的用法

时间:2016-03-14 21:50:33

标签: 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,并且查询性能对我们来说并不是一个好主意。看起来它可以使用warmer进行优化,它会将我们的过滤器加载到缓存中以供将来查询。

我的问题是,如果我将温暖设置为包括:

{ 
   "vendor_id":"abc"
}

该热身查询会加快查询vendor_id =" xyz"也?或者缓存只包含vendor_id =" abc"?的过滤器如果没有,强制所有vendor_id过滤器的推荐方法是什么?

任何建议都将受到赞赏。

谢谢,

1 个答案:

答案 0 :(得分:2)

如果您注册一个温暖器来预热针对特定字段的查询,ES将在相应的缓存中加载该字段的所有值(fielddata,filter等)

因此"vendor_id": "abc"的简单查询确实会加载所有值,这也意味着"xyz""def"等。

但是,您需要知道保温器将成为removed in version 5,并且由于使用了doc values,它们将不再有用。