摘要: 1,使用indexreader创建indexsearcher. 2,indexsearcher在使用完了以后不要关闭. 3.使用indexreader.isCurrent()判断索引是否被indexwriter改动. 4,如果索引被改动,indexsearcher.close()先前那个,然后new indexsearcher(indexreader).传string给searcher,searcher会维护一个内部的reader,当本次搜索结束后reader会被关掉.如果使用reader构造,reader在本次搜索结束后不会被关掉,除非你自己调用reader.close();所以用reade 阅读全文
posted @ 2013-12-20 14:40 郑文亮 阅读(1370) 评论(0) 推荐(0) 编辑
摘要: Lucene版本:3.0一般情况下,lucene的IndexSearcher都要写成单实例,因为每次创建IndexSearcher对象的时候,它都需要把索引文件加载进来,如果访问量比较大,而索引也比较大,那就很容易造成内存溢出!但是如果仅仅按照一般的单实例来写的话,如果更新了索引,那么在不重启服务的情况下,Searcher对象是搜索不到索引更新后的内容的.如何解决呢,这里给出一个方法!在这个方法里,建造了一个Factory类,分别管理IndexReader和IndexSearcher的单实例.import java.io.File; import java.io.IOException; .. 阅读全文
posted @ 2013-12-20 14:21 郑文亮 阅读(2626) 评论(0) 推荐(0) 编辑