solr如何使用autowarm?

时间:2012-11-19 05:01:54

标签: solr

在solrconfig.xml中,filterCache(或queryResultCache等)的'autowarmCount'表示当新搜索者到来时将复制多少缓存实体。但是,如果我在solr中添加或删除doc,则旧搜索器中可能存在无效的缓存实体。我认为将缓存实体复制到新搜索者并不是一个好主意,我是对的吗?

1 个答案:

答案 0 :(得分:7)

我可以尝试解释一下我对autowarm的了解。

过滤器缓存是筛选器查询与与筛选器查询匹配的无序内部文档ID集之间的映射。提交后,旧的搜索者无效并创建新的搜索者。新搜索者应该从旧搜索器中填充过滤器缓存。它无法复制缓存的旧值(无序的内部文档ID集),因为它们可以更改,但它可以复制密钥(筛选查询)并从旧缓存重新运行查询。查询的新结果将添加到新的筛选器缓存中。

查询结果缓存使用相同的方法。

您应该记住,文档缓存不使用autowarm功能,因为缓存的密钥是内部ID,并且在提交操作后它们会被更改,并且新的搜索者无法使用旧的缓存密钥(内部文档ID)来重新填充新的缓存。

如果有人能够更清楚地描述autowarm的工作,我将不胜感激。