关于IndexReader的open方法 请教
illu
2010-01-26
在使用IndexReader.open()创建一个reader后
我一直在使用这个reader 创建IndexSearcher进行查询 但是另外的线程使用IndexWriter 去改变索引里的内容 然后commit 如果reader不调用reopen方法的话 那么查询的结果是不会收到IndexWriter的影响的 而调用reader的reopen方法后 会返回一个新的IndexReader(前提是索引内容已经改变 如果索引内容未变 那么 reopen返回的还是原来的reader) 用这个新的reader可以查询到 更改了的信息 以上是我对IndexReader 和 IndexWriter的测试结果 我想请教一下 reader调用open方法都做了些什么? 根据以上测试结果我可不可以理解为open就是将索引文件的内容加载至内存了? 谢谢 ![]() |
|
illu
2010-01-27
=.= 没人知道么。。。
|
|
luckaway
2010-01-27
索引的内容是不会加载到内存的!
可能就是读取版本号,加载索引文件名,读取文档数....! 具体我也不是很清楚! |
|
TonyLian
2010-02-02
我想整体加载是不现实的,太大了。应该是加载索引的“索引”部分吧。
|