zoukankan      html  css  js  c++  java
  • Tips——IndexSearcher自动更新

    情景描述

    为了调高效率,创建全局变量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);
  • 相关阅读:
    RTP 控制协议
    非关系型数据库
    关系型数据库
    处理海量数据
    处理大并发
    C++ 模板偏特化-来自STL的思考
    C++详解new/delete
    二分算法来相会
    计算机网络知识点总结
    C++字符串类型转换
  • 原文地址:https://www.cnblogs.com/erbin/p/3947654.html
Copyright © 2011-2022 走看看