• 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);

      

    这是之前的,

    这是刚出炉的

    少了很多碎文件,我知道肯定还能优化的更完美,目前来说我只能优化这么多,以后慢慢调试优化。。

  • 相关阅读:
    软件项目版本号的命名规则及格式介绍
    软件项目版本号的命名规则及格式介绍
    够用一辈子的几句话
    十四个ASP.NET基础知识问答(C#版)
    够用一辈子的几句话
    够用一辈子的几句话
    软件项目版本号的命名规则及格式介绍
    leveldb java 版本
    Java List 的merge
    HBase 之mapreduce 提升
  • 原文地址:https://www.cnblogs.com/wangnanhui/p/7039778.html
Copyright © 2020-2023  润新知