2012-11-19 27 views
1

在solrconfig.xml中,filterCache(或queryResultCache等)的「autowarmCount」指示在新搜索器出現時將複製多少個緩存實體。但是,如果我在solr中添加或刪除doc,舊的搜索器中可能存在無效的緩存實體。我認爲將緩存實體複製到新的搜索器並不是一個好主意,對嗎?solr如何使用自動控制?

回答

7

我可以嘗試解釋我對自動武器的瞭解。

過濾器緩存是過濾器查詢和與過濾器查詢匹配的無序內部文檔ID集合之間的映射。提交後,舊的搜索器失效並創建新的搜索器。新的搜索者應該填寫舊的過濾器緩存。它不能複製緩存的舊值(無序的內部文檔ID集),因爲它們可以被更改,但它可以複製密鑰(過濾器查詢)並重新運行舊緩存中的查詢。查詢的新結果將被添加到新的過濾器緩存中。

查詢結果緩存使用相同的方法。

而且您應該記住,文檔緩存不使用自動裁剪功能,因爲緩存的鍵是內部ID,並且在提交操作後更改,並且新搜索器無法使用舊緩存鍵(內部文檔ID)重新填充新的緩存。

如果有人會更詳細地描述自動控制的工作,我將不勝感激。