磁碟io往往是計算機系統響應速度的乙個突出瓶頸,搜尋引擎查詢很平凡,減少搜尋過程中的磁碟io對提公升搜尋響應速度無疑有莫大的幫助,在solr中,提供自帶的快取機制。我們只需要在solrconfig.xml中加幾個配置項就可以了。
下面我們看看solr的3個快取。
filter cache:這個是被用來快取過濾器(就是查詢引數fq)的結果和基本的列舉型別。document cache:這個是被用來快取lucene documents的,就是儲存field的那個東西。
query result cache:這個一目了然,把查詢結果快取起來。
一、快取配置
solr的快取配置在solrconfig.xml檔案的查詢配置部分,也就是和標籤之間。solr實現了2種快取機制,分別是lrucache、fastlrucache;
lrucache:基於執行緒安全的linkedhashmap實現。fastlrucache:基於concurrenthashmap實現。
單執行緒的情況下fastlrucache具有更快的gets操作和比較慢的puts操作,因此使用它的查詢命中率會高出lrucache 75%,當然在多執行緒的情況下差距可能更大。
引數說明:
class:指定使用solr的哪種快取機制。
size:允許分配多少個實體(entity)的快取空間。
initialsize:分配初始多少個實體(entity)的快取空間。
autowarmcount:自動預裝入實體數。
1、 filter cache
class="solr.fastlrucache"size="200"initialsize="200"autowarmcount="100"/>
2、documentcache
class="solr.fastlrucache"size="500"initialsize="500"autowarmcount="250"/>
3、queryresult cache
class="solr.fastlrucache"size="11000"initialsize="11000" />
4、查詢結果視窗值設定
查詢結果視窗值是和query result
cache配合使用的。這個值是個什麼概念呢,就是我設定查詢結果視窗值為50,我查詢20到30條的資料,第一次查詢的時候solr會從索引庫中取出0
到49條的資料,我翻頁的時候就不用再到索引庫裡面去查詢了,直接從快取裡面取就可以了,大大的提高了查詢響應速度。
二、完整配置
class="solr.fastlrucache"size="200"initialsize="200"autowarmcount="100"/>
class="solr.fastlrucache"size="500"initialsize="500"autowarmcount="250"/>
class="solr.fastlrucache"size="11000"initialsize="11000" />
200
Solr4 7快取技術
磁碟io往往是計算機系統響應速度的乙個突出瓶頸,搜尋引擎查詢很平凡,減少搜尋過程中的磁碟io對提公升搜尋響應速度無疑有莫大的幫助,在solr中,提供自帶的快取機制。我們只需要在solrconfig.xml中加幾個配置項就可以了。下面我們看看solr的3個快取。filter cache 這個是被用來快...
solr高階五 Solr快取技術
原文 solr4.7快取技術 磁碟io往往是計算機系統響應速度的乙個突出瓶頸,搜尋引擎查詢很平凡,減少搜尋過程中的磁碟io對提公升搜尋響應速度無疑有莫大的幫助,在solr中,提供自帶的快取機制。我們只需要在solrconfig.xml中加幾個配置項就可以了。下面我們看看solr的3個快取。filte...
SOLR快取調優
快取在 solr 中充當了乙個非常重要的角色,solr 中主要有這三種快取 還有第四種快取,lucene 內部的快取,不過該快取外部無法控制到。通過這 3 種快取,可以對 solr 的搜尋例項進行調優。調整這些快取,需要根據索引庫中文件的數量,每次查詢結果的條數等。在調整引數前,需要事先得到 sol...