索引库的优化
一、第一种方法,合并小文件,执行很多小文件要创建多次IndexWriter,所以执行大文件要比下文件快。代码如下:
package com.lucene.optimeize;
import org.apache.lucene.document.Document;
import org.testng.annotations.Test;
import com.lucene.entity.ArticleEntity;
import com.lucene.luceneutil.ArticleDocumentUtils;
import com.lucene.luceneutil.LuceneUtils;
public class Maintest {
@Test
public void testOptimeize() throws Exception{
//合并多个小文件为一个大文件,适合于批量操作
LuceneUtils.getIndexWriter().optimize();
}
@Test
public void testOptimeize2() throws Exception {
//设置当小文件达到多少个时,就自动合并多个小文件为一个大文件
LuceneUtils.getIndexWriter().setMergeFactor(5);
//模拟存储数据
ArticleEntity ae = new ArticleEntity();
ae.setId(1);
ae.setTitle("luncen测试");
ae.setContent("Lucene的原理......");
Document doc = ArticleDocumentUtils.Article2Document(ae);
LuceneUtils.getIndexWriter().addDocument(doc);
}
}