Solr_專題:solrconfig.xml

一、solrConfig 結構

二、<lib>:

<lib/> 標籤主要用來引用 jar 包或插件。如果是相對路徑那麼則是相對於實例目錄( Core 目錄  )。需要注意的是 <lib/> 標籤是根據其在 SolrConfig.xml 文件中定義的順序從上往下依次執行的,所以如果引入的 JAR 包 A 依賴於 B,那麼 A 應該定義在 B 下面。該標籤下有兩個屬性:

1、dir:用來指定文件目錄

2、regex:正則表達式。用來給定需要加載的 jar 包的條件

如果僅僅給出 dir 屬性,那麼代表 dir 指定目錄下的全部 jar 包都要加載。我們也可以通過絕對路徑來指定目錄,但是如果指定的目錄沒有找到,系統會報錯。

三、<dataDir>: 標籤用於用戶自定義 Solr 索引數據和日誌的存放位置,默認情況下,索引文件存在 Solr_home 下的 data 文件夾中。該參數可以是一個絕對路徑或者是相對於當前 Servlet 的容器位置。

四、<directoryFactory>:規定了索引存儲方案

1. solr.StandardDirectoryFactory,這是一個基於文件系統存儲目錄的工廠,它會試圖選擇最好的實現基於你當前的操作系統和Java虛擬機版本

2. solr.SimpleFSDirectoryFactory,適用於小型應用程序,不支持大數據和多線程

3. solr.NIOFSDirectoryFactory,適用於多線程環境,但是不適用在windows平臺(很慢),是因爲JVM還存在bug

4. solr.MMapDirectoryFactory,這個是solr3.1到4.0版本在linux64位系統下默認的實現。它是通過使用虛擬內存和內核特性調用 mmap 去訪問存儲在磁盤中的索引文件。它允許 lucene 或 solr 直接訪問I/O緩存。如果不需要近實時搜索功能,使用此工廠是個不錯的方案。

5. solr.NRTCachingDirectoryFactory,此工廠設計目的是存儲部分索引在內存中,從而加快了近實時搜索的速度

6. solr.RAMDirectoryFactory,這是一個內存存儲方案,不能持久化存儲,在系統重啓或服務器crash時數據會丟失。且不支持索引複製

五、<codeFactory>:編解碼工廠允許使用自定義的編解碼器

六、<schemaFactory>:

七、<indexConfig>:用於設置索引的低級別屬性

八、<jmx>:

九、<updateHandler>:更新處理器,主要用來支持事務提交,日誌,持久化,Solr 雲和一些事件監聽等。

十、<query>:設置查詢執行行爲,主要是緩存的利用,查詢結果分頁等。

十一、<requestDispatcher>:規定了請求如何被解析。

十二、<requestHandler>:將請求與處理類進行匹配

十三、<searchComponent>:搜索組件,高亮顯示組件,查詢視圖組件等等。

十四、<updateRequestProcessChain>:用於攔截更新請求,進行其他操作(類似於監聽)

十五、<queryResponseWriter>:控制返回結果的顯示

十六、<queryParser>:查詢解析器

十七、<valueSourceParser>:函數解析器

十八、<transformer>:文檔轉換器


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章