浙江省高等学校教师教育理论培训

微信搜索“毛凌志岗前心得”小程序

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理
above 3.2 version the default mergepolicy is used triedmergepolicy
so if you want use setMergeFactor you must down the version use bellow code
         Directory dir = FSDirectory.open(new File(indexPath));
            Analyzer analyzer = new StandardAnalyzer(Version.LUCENE_31);
            IndexWriterConfig iwc = new IndexWriterConfig(Version.LUCENE_31, analyzer);
//            if (create) {
//              // Create a new index in the directory, removing any
//              // previously indexed documents:
//              iwc.setOpenMode(OpenMode.CREATE);
//            } else {
//              // Add new documents to an existing index:
              iwc.setOpenMode(OpenMode.CREATE_OR_APPEND);
              
              MergePolicy mp=iwc.getMergePolicy();
              if (mp instanceof LogMergePolicy)
              {
                LogMergePolicy lmp=(LogMergePolicy) mp;
                lmp.setMergeFactor(20);
                System.out.println("%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%");
              }
              
              //            }
            // Optional: for better indexing performance, if you
            // are indexing many documents, increase the RAM
            // buffer.  But if you do this, increase the max heap
            // size to the JVM (eg add -Xmx512m or -Xmx1g):
            //
            // iwc.setRAMBufferSizeMB(256.0);
            IndexWriter writer = new IndexWriter(dir, iwc);
                        
//            writer.setMergeFactor(2);
//            writer.deleteAll();
posted on 2011-12-19 22:29  lexus  阅读(302)  评论(0编辑  收藏  举报