首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > 软件架构设计 >

lucene治理IndexReader和IndexWriter的最佳实践

2012-11-14 
lucene管理IndexReader和IndexWriter的最佳实践实例化IndexReader需要加载索引文件,所以实例化它是非常耗

lucene管理IndexReader和IndexWriter的最佳实践
实例化IndexReader需要加载索引文件,所以实例化它是非常耗资源的。

IndexReader是线程安全的,通常一个索引目录,我们只实例化一个IndexReader就够了。

当索引数据足够大(G的数量级)的时候,一般把索引资源按照某种规则散列到多个文件目录里(如:index-0,index-1,index-2.... 或者 blog,posts....),当然这些文件目录应该放在同一个根目录下---这时,最好的方式就是用一个Pool去维护这些IndexReader:保证一个文件目录只有一个实例,且不同的IndexReader可以根据名字动态的组合。


StandardIndexReaderPool.java



IndexWriter也需要Pool来管理

StandardIndexWriterPool.java
     3 楼    千秋万世    2010-04-09              很好,非常感谢!    4 楼    千秋万世    2010-04-12              我使用你的方法,不过一位仁兄说了看过epoll就知道我过时了,第一次设计这个,不知道他说的是否更加有效,博主如果清楚,忘回复    5 楼    luckaway    2010-04-12              epoll我不了解,更不知道原理    6 楼    千秋万世    2010-04-12              嗯,同样感谢!    7 楼    whiletrue    2012-03-20              indexReader和indexWriter都是线程安全的,用pool有什么意义?    8 楼    promzaid    2012-07-10              whiletrue 写道indexReader和indexWriter都是线程安全的,用pool有什么意义?
人家说的是多个索引目录

热点排行