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);
  • 相关阅读:
    Mysql常用命令
    Centos7初始配置
    centos7配置mysql
    CentOS7 配置阿里云yum源
    Dockerfile
    Centos7部署hadoop 3
    Windows10安装docker
    centos7安装docker
    大数据与分布式架构
    Centos7单主机部署 LAMP + phpmyadmin 服务
  • 原文地址:https://www.cnblogs.com/erbin/p/3947654.html
Copyright © 2011-2022 走看看