首页 > 其他分享 >IndexSearch中增量索引使用reopen

IndexSearch中增量索引使用reopen

时间:2023-09-07 14:01:08浏览次数:33  
标签:return indexReader 索引 IndexSearch IndexSearcher reopen isearcher null

public IndexSearcher newIndexSearcher() {
		try {
			if(null==isearcher){
	        	isearcher = new IndexSearcher(IndexReader.open("D:/Index"));
	        }else{
				IndexReader indexReader=isearcher.getIndexReader();//获取当前的indexReader
				if(!indexReader.isCurrent()){//判断是否有索引更新
				 
			// 如果有索引更新,先关闭当前的indexSearcher
					closeIndexSearcher();
//利用indexReader.reopen()获取新的indexReader,并作为IndexSearcher的参数创建一个新的indexSearcher
					
					isearcher=new IndexSearcher(indexReader.reopen());
				}
	        }
		
			return isearcher;
		} catch (CorruptIndexException e) {
			//e.printStackTrace();
			return null;
		} catch (IOException e) {
			//e.printStackTrace();
			return null;
		}
	}

标签:return,indexReader,索引,IndexSearch,IndexSearcher,reopen,isearcher,null
From: https://blog.51cto.com/u_2544485/7396639

相关文章

  • PG索引失效合集
    通常来说,优化器分为两种,一种是CBO,即Cost-BasedOptimizer的缩写,直译过来就是“基于成本的优化器”。一种是RBO,是Rule-BasedOptimizer的缩写,直译过来就是“基于规则的优化器”在得到最终的执行计划时,RBO会根据一组内置的规则,去选择执行计划,这就导致了RBO选择的执行计划可能不是最......
  • 《自己动手建搜索引擎》日志分析类代码解析与修正为兼容lucene3.0.2
    搜索日志是用来分析用户搜索行为和信息需求的重要依据。一般记录如下信息:搜索关键字用户来源IP本次搜索返回结果数量搜索时间其他需要记录的应用相关信息  例如:搜索时间|日志类型|搜索类型|搜索关键字|IP地址|本次搜索返回结果数量, 存放日志文件内容如下:2008-04......
  • 获取一个索引文件频率最高的Term(可实现热点关键字的一个思路之一)
       前段时间同事也开始对搜索感兴趣,他看到luke工具界面上会显示Term的频率数,提出通过索引用户的搜索日志中的检索关键字,我们是否可以利用这个Field字段中Term频率高低来说明其是否代表热点关键字。    想想觉得也是有一点在理,特别是对用户没有任何可分析性的情况下。但这就......
  • [转]Mysql中普通索引key 、主键索引(primary key) 、唯一索引(unique key)与index区别
    原文地址:Mysql中普通索引key、主键索引(primarykey)、唯一索引(uniquekey)与index区别-元小疯-博客园一、索引的定义和由来:    索引被用来快速找出在一个列上用一特定值的行。没有索引,MySQL不得不首先以第一条记录开始并然后读完整个表直到它找出相关的行。 ......
  • mysql索引
    1先建表,插入数据,建索引,脚本如下:--建表createtableUser(idbigintauto_incrementprimarykey,namenvarchar(100),ageint,positionnvarchar(100));--插入数据INSERTI......
  • explain | 索引优化
    前言对于互联网公司来说,随着用户量和数据量的不断增加,慢查询是无法避免的问题。一般情况下如果出现慢查询,意味着接口响应慢、接口超时等问题。如果是高并发的场景,可能会出现数据库连接被占满的情况,直接导致服务不可用。慢查询的确会导致很多问题,我们要如何优化慢查询呢?主要解决......
  • 重建索引
    alert日志报错信息:[oracle@hd04trace]$catalert_db12c.log|grep"corrupt"-A2-B2|moreHexdumpof(file11,block704337)intracefile/app/oracle/diag/rdbms/orcl/db12c/trace/db12c_p006_20208.trcReadingdatafile'/app/oracle/oradata/orcl/d......
  • mongo 数据库建索引不规范导致奔溃
    2023年9月5日,在给3亿条数据库新建索引时,因为没有采用后台索引的方式导致数据库奔溃20分钟。前台建索引容易阻塞主线程,大的表一定要做background执行,否则堵塞全部读写建议后期操作:db.test.createIndex({name:1},{background:true}) ......
  • 【面试题精讲】MySQL中覆盖索引是什么
    有的时候博客内容会有变动,首发博客是最新的,其他博客地址可能会未同步,认准https://blog.zysicyj.top首发博客地址系列文章地址在MySQL中,覆盖索引是一种特殊类型的索引,它包含了查询所需的所有列,而不仅仅是索引列本身。当一个查询可以完全使用覆盖索引来满足时,MySQL可以直接从......
  • 在应用中加入全文检索功能——基于Java的全文索引引擎Lucene简介 [摘]
    作者:车东关键词:Lucenejavafull-textsearchengine Chinese wordsegment内容摘要:Lucene是一个基于Java的全文索引工具包。基于Java的全文索引引擎Lucene简介:关于作者和Lucene的历史全文检索的实现:Luene全文索引和数据库索引的比较中文切分词机制简介:基于词库和自动切分......