码迷,mamicode.com
首页 > 其他好文 > 详细

indexReader的设计

时间:2015-08-14 15:25:46      阅读:107      评论:0      收藏:0      [点我收藏+]

标签:

在indexReader和indexSearch中,如果频繁的去打开索引或者关闭索引,对资源的消耗比较大。所以一般采用单利的模式进行对indexReader的打开。

在indexReader的开发情景中,例如在一个查询的过程中,然后search的线程睡眠十分钟,然后在十分钟之间进行了索引的更新writer.delete(docu)(删除一个索引库中的索引)。但是此时如果继续读索引,它读到的还是旧的数据,并没有读到被修改后的索引库,只有在重新打开reader的时候才会读取到更新后的数据。在关闭资源的时候不关闭reader,整个生命周期只有一个reader.;只是关闭searcher.借助reader.commit()提交reader的方式进行对库的更新。(原来是在关闭的时候,会将数据flush到索引库中的。)。

为了实现索引更新和查询的通步;可以借助reader.openIfChanged().也可以通过对Version进行判断,是否当前的索引被修改。

indexReader的设计

标签:

原文地址:http://www.cnblogs.com/mggwct/p/4729775.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!