设为首页 收藏本站
查看: 355|回复: 0

[经验分享] org.apache.lucene.index.IndexWriterConfig

[复制链接]

尚未签到

发表于 2017-1-4 06:29:20 | 显示全部楼层 |阅读模式
创建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。

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-323382-1-1.html 上篇帖子: Apache curator-frameworker简述 下篇帖子: apache tomcat的几个版本
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表