lucene 索引优化
Posted 王南辉
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了lucene 索引优化相关的知识,希望对你有一定的参考价值。
今天用了lukeall里面的一个功能optimize也就是索引优化,
发现有花时间比较长但是优化结果比较好,
索引里面的所有段文件都merge到一个段文件里去了,
于是自己就试了一下,虽然没有lukeall优化的好,
但起码比之前几百个碎文件要好的多了下面是代码,lucene用的是4.8 当然也可以用lukeall去优化,但是你得找到一个版本和索引版本一致的lukeall ,或者搜索版本>lukeall版本>索引版本(得用三套才行 太麻烦了)
根据方法名称大致就能知道是什么意思(其实我也有好多意思不知道 哈哈 ^_^)
IndexWriterConfig conf = new IndexWriterConfig(Version.LUCENE_48,analyzer); ConcurrentMergeScheduler scheduler = new ConcurrentMergeScheduler(); scheduler.setMaxMergesAndThreads(2, 1); scheduler.setMergeThreadPriority(1); TieredMergePolicy policy = new TieredMergePolicy(); policy.setMaxMergeAtOnce(10); policy.setMaxMergeAtOnceExplicit(30); policy.setMaxMergedSegmentMB(5120);//根据自己电脑配置设置 policy.setFloorSegmentMB(2); policy.setForceMergeDeletesPctAllowed(10); policy.setSegmentsPerTier(10.0); policy.setMaxCFSSegmentSizeMB(8 * 1024);//根据自己电脑配置设置 policy.setNoCFSRatio(1); conf.setRAMBufferSizeMB(16); conf.setMaxBufferedDocs(-1); conf.setReaderTermsIndexDivisor(1); conf.setTermIndexInterval(128); conf.setMergeScheduler(scheduler); conf.setMergePolicy(policy); conf.setUseCompoundFile(true);
这是之前的,
这是刚出炉的
少了很多碎文件,我知道肯定还能优化的更完美,目前来说我只能优化这么多,以后慢慢调试优化。。
以上是关于lucene 索引优化的主要内容,如果未能解决你的问题,请参考以下文章