【发布时间】:2015-01-14 01:05:10
【问题描述】:
我正在对使用 Lucene 版本 3.6.1 的现有代码库进行一些更改。
IndexSearcher 已被每个搜索请求实例化。
IndexReader reader = IndexReader.open(index);
IndexSearcher searcher = new IndexSearcher(reader);
RAMDirectory 已使用,close 方法尚未调用。
定期重新索引完成并在发生这种情况时创建 RAMDirectory 的新实例。但是现有的 IndexReader#close 方法并没有被调用。
以下是我的问题。
- IndexReader 不调用 close 方法有什么影响?
- 在 RAMDirectory 上不调用 close 方法有什么影响?
- 索引阅读器的引用没有保存在任何地方。所以为了关闭它,我可以做 IndexSearcher.ggetIndexReader().close() 吗?
- 是否有类似的方法可以访问目录,以便在重新编制索引时关闭它?
【问题讨论】: