lucene-利用内存中索引和多线程提高索引效率
来源:互联网 发布:matlab生成随机网络 编辑:程序博客网 时间:2024/06/09 17:10
1、RAMDirectory和FSDirectory对比
RAMDirectory在内存中所进行的操作比FSDirectory在磁盘上所完成的工作要快得多。
2、即使使用索引参数来使Lucene减少在磁盘上合并段的频率,基于FSDirectory的索引还要把它们写入磁盘,而RAMDirectory完全不用写磁盘。
3、将RAMDirectory做为一个缓冲器实现对索引的、批处理
1)创建一个基于FSDirectory的索引。
FSDirectoryfsdir=FSDirectory.getDirectory("/tmp/index",true);
2)创建一个基于RAMDirectory的索引
RAMDirectory ramdir=new RAMDirectory();
3)向基于RAMDirectory的索引中增加文档。
IndexWriter ramwriter=new IndexWriter(ramdir,newSimpleAnalyzer(),true);
IndexWriter fswriter=new IndexWriter(fsdir,newSimpleAnalyzer(),true);
while (...){
...
ramwriter.addDocument(doc);
}
4)不定期把缓存在RAMDirectory中的所有数据写入FSDirectory
if (可以写入)
{
fswriter.addIndexes(Directory[] {ramdir});//合并数据
ramwriter.close();
ramwriter=newIndexWriter(ramdir,new SimpleAnalyzer(),true);
}
5)转到第三步
4、并行索引多个索引文件
可以使用多线程的索引程序,并行使用把RAMDirectory作为一个缓冲器,然后使用addIndexes合并写入
- lucene-利用内存中索引和多线程提高索引效率
- lucene-利用内存中索引和多线程提高索引效率
- 内存中直接建立索引: Lucene 建索引效率(litertiger)
- 利用索引提高查询效率
- Lucene的内存索引和磁盘索引
- 利用索引提高SQL Server数据处理效率
- 利用索引提高SQL Server数据处理效率
- 利用索引提高SQLServer数据处理的效率
- 利用索引提高SQL Server数据处理效率
- 利用索引提高SQLServer数据处理效率
- Informix数据库利用索引提高查询效率
- Lucene中创建索引的效率和删除索引的实现
- Lucene中创建索引的效率和删除索引的实现
- 提高Lucene索引性能
- 提高lucene索引速度
- 提高LUCENE索引性能
- 如何提高和优化Lucene索引速度
- lucene的多线程索引
- JFrame能监听键盘事件吗?
- linux 中新增加硬盘及扩展SWAP交换分区
- 圣诞节快乐,和ADO休战
- lucene-优化索引
- lucene-限制域的大小maxFieldLength
- lucene-利用内存中索引和多线程提高索引效率
- lucene-替代品MG4J
- lucene-调整索引性能
- lucene-理解索引过程
- lucene-可追加的域
- snagit 9注册码
- LINQ to XML
- lucene-索引文档的删除、更新及增强加权
- (转)五种开源协议的比较(BSD,Apache,GPL,LGPL,MIT)