Lucene原始碼解析--IndexWriterConfig配置引數說明
建立IndexWriter例項時,透過IndexWriterConfig來設定其相關配置:
1.Analyzer:分析器
2.matchVersion:所用Lucene的版本
3.ramBufferSizeMB:隨機記憶體 預設為16M.用於控制buffer索引文件的記憶體上限,如果buffer的索引文件個數到達該上限就寫入硬碟。當然,一般來說越大索引速度越快
4.maxBufferedDocs:最大快取文件數,該引數決定寫入記憶體索引文件個數,到達該數目後就把該記憶體索引寫入硬碟,生成一個新的索引segment檔案。所以該引數也就是一個記憶體buffer,一般來說越大索引速度越快,預設不啟用.
5.maxBufferedDeleteTerms:最大快取刪除詞條數,當數量達到時會重新整理現有的索引段。預設不啟用.
6.readerTermsIndexDivisor:索引分詞抽樣因子,如果值設為N,那麼在讀取索引的時候每N*termIndexInterval個分詞中抽取一個作為樣本到RAM中,N值越大所佔用的記憶體越小。
7.mergedSegmentWarmer:預設值為NULL
8.termIndexInterval:索引分詞間隔,值越大IndexReader耗費的記憶體越小。這個引數決定著查詢每個分詞時所耗費的計算量。通常情況下它代表著在一個分詞被定位到時,需要掃描的其他分詞的最大值。預設值為32
9.delPolicy:索引刪除策略,預設為KeepOnlyLastCommitDeletionPolicy,只保持最近一次的提交資訊。
10.Commit:IndexCommit索引的變更如果要可見(如IndexDeletionPolicy,IndexReader中),必須提交COMMIT。每次提交都有一個唯一的segments_N檔案與之關聯。預設NULL
11.openMode:IndexWriter的開啟模式,預設為CREATE_OR_APPEND,如果索引存在則開啟進行擴充,否則新建。
12.Similarity:定義索引中分詞的權重及打分情況。預設值為IndexSearcher.getDefaultSimilarity()
13.mergeScheduler:合併定時器,每個執行緒執行一個merge操作,預設為ConcurrentMergeScheduler
14.writeLockTimeout:寫鎖超時時間 預設為1000毫秒
15.indexingChain:索引鏈,定義文件是如何被索引的,預設採DocumentsWriterPerThread.defaultIndexingChain。有關索引鏈後面會詳細介紹。
16.Codec:編碼或解碼一個倒排索引段,用於生成一個新的段。
17.infoStream:用於除錯資訊的管理,預設為InfoStream.getDefault()不記錄任何除錯資訊。
18.mergePolicy:索引段的合併策略。預設為TieredMergePolicy根據每一層允許的段數合併大小相似的段。
19.flushPolicy:索引段資料重新整理策略。即RAM記憶體中的資料何時重新整理到物理結構中。預設為FlushByRamOrCountsPolicy,即根據RAM的使用情況,maxBufferedDocs和maxBufferedDeleteTerms的值來制定重新整理策略。
20.readerPooling:例項化IndexReader是非常昂貴的操作,且它是一個執行緒安全的,跟索引目錄是一一對應的,最好的方式就是用一個Pool去維護這些IndexReader:保證一個檔案目錄只有一個例項,且不同的IndexReader可以動態的組合。預設為false 不使用Pool.
21.indexerThreadPool:對documents建立索引的執行緒池,預設執行緒池中保持8個執行緒。
22.perThreadHardLimitMB:設定每個段記憶體使用的上限,如果達到該上限就會對段進行強制重新整理。預設值為1945M。
Normal 0 7.8 磅 0 2 false false false EN-US ZH-CN X-NONE
1.Analyzer:分析器
2.matchVersion:所用Lucene的版本
3.ramBufferSizeMB:隨機記憶體 預設為16M.用於控制buffer索引文件的記憶體上限,如果buffer的索引文件個數到達該上限就寫入硬碟。當然,一般來說越大索引速度越快
4.maxBufferedDocs:最大快取文件數,該引數決定寫入記憶體索引文件個數,到達該數目後就把該記憶體索引寫入硬碟,生成一個新的索引segment檔案。所以該引數也就是一個記憶體buffer,一般來說越大索引速度越快,預設不啟用.
5.maxBufferedDeleteTerms:最大快取刪除詞條數,當數量達到時會重新整理現有的索引段。預設不啟用.
6.readerTermsIndexDivisor:索引分詞抽樣因子,如果值設為N,那麼在讀取索引的時候每N*termIndexInterval個分詞中抽取一個作為樣本到RAM中,N值越大所佔用的記憶體越小。
7.mergedSegmentWarmer:預設值為NULL
8.termIndexInterval:索引分詞間隔,值越大IndexReader耗費的記憶體越小。這個引數決定著查詢每個分詞時所耗費的計算量。通常情況下它代表著在一個分詞被定位到時,需要掃描的其他分詞的最大值。預設值為32
9.delPolicy:索引刪除策略,預設為KeepOnlyLastCommitDeletionPolicy,只保持最近一次的提交資訊。
10.Commit:IndexCommit索引的變更如果要可見(如IndexDeletionPolicy,IndexReader中),必須提交COMMIT。每次提交都有一個唯一的segments_N檔案與之關聯。預設NULL
11.openMode:IndexWriter的開啟模式,預設為CREATE_OR_APPEND,如果索引存在則開啟進行擴充,否則新建。
12.Similarity:定義索引中分詞的權重及打分情況。預設值為IndexSearcher.getDefaultSimilarity()
13.mergeScheduler:合併定時器,每個執行緒執行一個merge操作,預設為ConcurrentMergeScheduler
14.writeLockTimeout:寫鎖超時時間 預設為1000毫秒
15.indexingChain:索引鏈,定義文件是如何被索引的,預設採DocumentsWriterPerThread.defaultIndexingChain。有關索引鏈後面會詳細介紹。
16.Codec:編碼或解碼一個倒排索引段,用於生成一個新的段。
17.infoStream:用於除錯資訊的管理,預設為InfoStream.getDefault()不記錄任何除錯資訊。
18.mergePolicy:索引段的合併策略。預設為TieredMergePolicy根據每一層允許的段數合併大小相似的段。
19.flushPolicy:索引段資料重新整理策略。即RAM記憶體中的資料何時重新整理到物理結構中。預設為FlushByRamOrCountsPolicy,即根據RAM的使用情況,maxBufferedDocs和maxBufferedDeleteTerms的值來制定重新整理策略。
20.readerPooling:例項化IndexReader是非常昂貴的操作,且它是一個執行緒安全的,跟索引目錄是一一對應的,最好的方式就是用一個Pool去維護這些IndexReader:保證一個檔案目錄只有一個例項,且不同的IndexReader可以動態的組合。預設為false 不使用Pool.
21.indexerThreadPool:對documents建立索引的執行緒池,預設執行緒池中保持8個執行緒。
22.perThreadHardLimitMB:設定每個段記憶體使用的上限,如果達到該上限就會對段進行強制重新整理。預設值為1945M。
Normal 0 7.8 磅 0 2 false false false EN-US ZH-CN X-NONE
相關文章
- Elasticsearch 引數配置說明Elasticsearch
- kafka 引數配置說明Kafka
- Nginx的gzip配置引數說明Nginx
- 【MySQL】SemisynchronousReplication配置和引數說明MySql
- Redis配置檔案引數說明Redis
- 【MySQL】Semisynchronous Replication 配置和引數說明MySql
- DBCP連線池配置引數說明
- Lucene原始碼解析--Field類原始碼
- Lucene原始碼解析--Lucene中的CloseableThreadLocal類原始碼thread
- 【cartographer_ros】七: 主要配置引數說明ROS
- [Nginx] - nginx 基本配置與引數說明(轉)Nginx
- Lucene原始碼解析--Lock檔案原始碼
- TOP引數說明
- mysqldump引數說明MySql
- mysqldump 引數說明MySql
- MySQL引數說明MySql
- GoldenGate 配置文件,裡面有引數說明Go
- Kafka 配置引數彙總及相關說明Kafka
- redis 3.0 引數說明Redis
- golden gate 引數說明Go
- oracle引數說明(zt)Oracle
- Java虛擬機器(JVM)引數配置說明薦Java虛擬機JVM
- Lucene原始碼解析--搜尋過程<二>原始碼
- Oracle Table建立引數說明Oracle
- Oracle Table 建立引數 說明Oracle
- mysqldump引數詳細說明MySql
- mosquitto命令引數說明UI
- Oracle Sequence Cache 引數說明Oracle
- 【MYSQL】MHA引數列表說明MySql
- Mysql JDBC Url引數說明MySqlJDBC
- MySQL配置檔案my.ini引數註釋說明MySql
- Lucene原始碼解析--刪除文件檔案(.del)原始碼
- linux常用核心引數說明Linux
- GoldenGate HANDLECOLLISIONS引數使用說明Go
- 【7】JVM引數說明和分析JVM
- 2.--Goldgate常用引數說明Go
- Linux SHELL if 命令引數說明Linux
- MySQL CMake引數說明手冊MySql