0%

LUNCENE4—索引库优化

1.索引库优化代码
合并其过程:查出在文件下有多少的cfs,然后在写上总数count
//索引库优化
indexWriter.optimize();
//设置合并因子为3,每当有3个cfs文件,就合并
indexWriter.setMergeFactor(count);
2.设置内存索引库
对于内存索引库而言,它的速度是很快的,因为我们直接操作内存…但是呢,我们要将内存索引库是要到硬盘索引库中保存起来的。当我们读取数据的时候,先要把硬盘索引库的数据同步到内存索引库中去的。

1
2
3
4
5
6
7
8
9
10
11
Article article = new Article(1,”培训”,”传智是一家Java培训机构”);
Document document = LuceneUtil.javabean2document(article);
Directory fsDirectory = FSDirectory.open(new File(“E:/indexDBDBDBDBDBDBDBDB”));
//硬盘索引库
Directory ramDirectory = new RAMDirectory(fsDirectory);
IndexWriter fsIndexWriter = new IndexWriter(fsDirectory,LuceneUtil.getAnalyzer(),true,LuceneUtil.getMaxFieldLength());
IndexWriter ramIndexWriter = new IndexWriter(ramDirectory,LuceneUtil.getAnalyzer(),LuceneUtil.getMaxFieldLength());
ramIndexWriter.addDocument(document);
ramIndexWriter.close();
fsIndexWriter.addIndexesNoOptimize(ramDirectory);
fsIndexWriter.close();