首页 > 其他 > 详细

Tips——IndexSearcher自动更新

时间:2014-08-31 15:45:11      阅读:217      评论:0      收藏:0      [点我收藏+]

情景描述

为了调高效率,创建全局变量IndexReader取代每次查询新建IndexReader所带来的效率问题。

当时每天会更新一边索引8.23号部署的Index服务,Search服务,结果index都更新到了8.25,查询结果还是8.23的

Tips分享

先来看一下IndexSearcher的构造方法indexSearcher = new IndexSearcher(indexReader);

传入一个indexReader,要知道在整个服务过程中,除非人为显示的关闭reader的话,其他情况下,reader是不会关闭的。

所以就算index文件怎么变化,indexSearcher也不会捕捉到,或者说及时更新。

所以,就需要Searcher服务和Index服务保持一样的更新频率,在Index更新后Searcher也重新打开一个IndexReader

indexReader.close();
indexReaded = new IndexReader(Directory);
indexSearcher = new IndexSearcher(indexReader);

 

Tips——IndexSearcher自动更新

原文:http://www.cnblogs.com/erbin/p/3947654.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!