據我所知,queryChache
爲每個查詢緩存匹配的documentIds列表。 根據書Solr in Action
中提供的信息,我們將queryResultMaxDocsCached
參數設置爲基於我們希望每個查詢緩存的文檔的最大數量的值。如果這是真的,那麼這個值是否增加了我們在documentCache
中設定的數量?兩者有什麼區別 ?queryResultMaxDocsCached和documentCache solr
從Solr in Action
摘錄了queryResultMaxDocsCached
正如你可以想像,一個 結果集拿着數百萬個文檔的高速緩存將極大地Solr中影響可用內存 。該元素允許您限制爲查詢結果緩存中的每個條目緩存的文檔數量 。
從Solr in Action
摘錄了documentCache
查詢結果緩存保存與查詢匹配的內部文件ID的列表,所以即使 如果查詢結果被緩存,Solr中仍然需要加載的文件從磁盤產生 搜索結果。文檔緩存用於將從磁盤 加載的文檔存儲在由內部文檔ID鍵入的內存中。由此可見,查詢結果緩存 使用文檔緩存來查找緩存結果集中文檔的緩存版本。
我想你錯過了我的問題。我想知道queryResultMaxDocsCached和documentCache設置如何不同,並且queryResultMaxDocsCached是否添加到documentCache數量? – Viraj
一個是關於在queryResult中緩存的文檔ID的數量,另一個是關於與所有緩存分開緩存的文檔數量(實際文檔及其內容)。它們是獨立的緩存,具有獨立的設置,因此Solr中的_total緩存size_是(queryResultCacheSize + documentCache + filterCache + fieldCache + .. etc)。據我所知,這些緩存以任何方式彼此不相關,只是它們可以互相使用以獲得所需的功能。 – MatsLindh