Solr4 7快取技術

2022-04-30 16:15:16 字數 1574 閱讀 4826

磁碟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...