indexReader的设计

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

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

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

时间: 2024-10-12 20:50:04

indexReader的设计的相关文章

Lucene 基础理论

1. 全文检索系统与Lucene简介 1.1 什么是全文检索与全文检索系统 全文检索是指计算机索引程序通过扫描文章中的每一个词,对每一个词建立一个索引,指明该词在文章中出现的次数和位置,当用户查询时,检索程序就根据事先建立的索引进行查找,并将查找的结果反馈给用户的检索方式.这个过程类似于通过字典中的检索字表查字的过程. 全文检索的方法主要分为按字检索和按词检索两种.按字检索是指对于文章中的每一个字都建立索引,检索时将词分解为字的组合.对于各种不同的语言而言,字有不同的含义,比如英文中字与词实际上

Lucene查询方式总结

-------------------------------------------------- IndexReader的设计 -------------------------------------------------- IndexReader的创建需要消耗大量内存空间, 所以通过将IndexReader设计出属性值,进行一次创建 整个项目周期就只有一个IndexReader 1.// IndexReader的设计 private static IndexReader reader

IndexReader关闭的问题

实时搜索设计开发中,IndexReader在饮用计数变为0时调用doClose,而SegmentReader则有一个addCoreClosedListener方法控制在SegmentCoreReaders关闭时的操作,搜索Lucene的代码只有在FieldCacheImpl中看到调用,其中的回调>是让SegmentCoreReaders关闭之后从field cache中删除field cache. 查看Lucene core 4.0的代码,使用的FieldCache只有Field Compara

IndexReader已解决的问题

设计和实时搜索的发展,IndexReader饮酒数成为0当调用doClose,和SegmentReader再有一个addCoreClosedListener控制的方法SegmentCoreReaders当操作接近.搜索Lucene该代码只有在FieldCacheImpl见电话,的回调>是让SegmentCoreReaders关闭之后从field cache中删除field cache. 查看Lucene core 4.0的代码,使用的FieldCache仅仅有Field Comparator,F

java课程设计团队(搜索引擎)

JAVA课程设计 基于学院网站的搜索引擎 对学院网站进行抓取.建索(需要中文分词).排序(可选).搜索.摘要显示.可以是GUI界面,也可以是Web界面. 一.团队介绍 学号 班级 姓名 简介 201621123049 网络1612 [组长]袁德兴 热衷于网络安全 201621123047 网络1612 陈芳毅 有思想,有深度 ,有能力 201621044079 网络1612 韩烨 学习力强,人称韩可爱 201621123055 网络1612 刘兵 人称五社区发哥,动手能力强 2016211230

静态网页框架设计首次体验(文章改)

根据教材与上网成功解决了Tomcat与Myeclipse的安装,同时熟悉了Java web创建项目到部署运行整个过程.今天起正式开始学习有关Java web的编程部分.Java web静态网页(HTML网页)的标记含义.基本语法的介绍到框架设计基本模板与案例,今天的学习的内容,让网页编程有了一个初步的框架.结合自身所在协会的情况,计划制作一个关于协会的网页,已有初步想法,望通过学习不断完善和修改协会网站.根据今天所学,并参考书本30页框架设计案例对网页进行初步搭建. 具体代码如下 TW.jsp:

PYQT设计无边框窗体

#UI.py,通过UI设计师制作后直接转换为UI.py脚本 # -*- coding: utf-8 -*-from PyQt4 import QtCore, QtGui try:    _fromUtf8 = QtCore.QString.fromUtf8except AttributeError:    _fromUtf8 = lambda s: s class Ui_Form(object):    def setupUi(self, Form):        Form.setObject

Java精品高级课,架构课,java8新特性,P2P金融项目,程序设计,功能设计,数据库设计,第三方支付,web安全,视频教程

36套精品Java架构师,高并发,高性能,高可用,分布式,集群,电商,缓存,性能调优,设计模式,项目实战,P2P金融项目,大型分布式电商实战视频教程 视频课程包含: 高级Java架构师包含:Spring boot.Spring  cloud.Dubbo.Elasticsearch,Redis.ActiveMQ.Nginx.Mycat.Spring.MongoDB.ZeroMQ.Git.Nosql.Jvm.Mecached.Netty.Nio.Mina.java8新特性,P2P金融项目,程序设计,

Android 设计一个菱形形状的Imageview组件.

网上没有资料,特来请教下大神 Android 设计一个菱形形状的Imageview组件. >> android 这个答案描述的挺清楚的:http://www.goodpm.net/postreply/android/1010000007107851/Android设计一个菱形形状的Imageview组件.html