我试图了解在我们的用例中,温暖如何帮助我们。
假设我们有项目记录,而项目有供应商属性。
{
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过滤器的推荐方法是什么?
任何建议都将受到赞赏。
谢谢,
答案 0 :(得分:2)
如果您注册一个温暖器来预热针对特定字段的查询,ES将在相应的缓存中加载该字段的所有值(fielddata,filter等)
因此"vendor_id": "abc"
的简单查询确实会加载所有值,这也意味着"xyz"
,"def"
等。
但是,您需要知道保温器将成为removed in version 5,并且由于使用了doc values,它们将不再有用。