IndexReader已解决的问题

IndexReader已解决的问题

大家好,又见面了,我是全栈君,今天给大家准备了Idea注册码。

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

查看Lucene core 4.0的代码,使用的FieldCache仅仅有Field Comparator,FieldCacheRangeFilter,FieldValueFilter等,看起来假设全然基于docvalues做排序和filter,不须要考虑。

另外假设考虑的话,filed cache基于docId,所以内存索引快照并不须要每一个都相应一个field cache,仅仅要映射到最新的field cache就可以,仅仅要读取时不逾越max doc id就可以。因此RamIndexReader.getCoreCacheKey返回相应RamIndexWriter就可以。

另外,SegmentCoreReaders的关闭文件句柄操作时IOUtils.close(termVectorsLocal, fieldsReaderLocal,…)。
实时搜索时每一个IndexSearcher都须要关闭其Reader的,这样在反复打开时不会有遗漏的文件句柄。

要真正释放资源,应该在new新的实时搜索searcher时不操作(new时自己主动有一个引用计数了),在searcher替换时调用旧Reader的decRef方法。
搜索前调用一次incRef,搜索完毕调用一次decRef。

详细到内存索引Reader,其doClose能够什么都不做。

RealTimeIndexWriter的close,分别调用RamIndexWriter的close方法,SegmentReaderAndLiveDocs的close方法。SegmentReaderAndLiveDocs内部有一个实时的SegmentReader,它也要Close。

每次快照生成的SegmentReader共用一个core。

ConcreateCompositeReader incRef和decRef时应该对以下的全部AtomicReader操作。

这样的手动的incRef,decRef笨方法,和easy错误,假设Java7可以直接使用AutoClosable.

版权声明:本文博客原创文章,博客,未经同意,不得转载。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/117466.html原文链接:https://javaforall.net

赞 (0)
全栈程序员-站长的头像全栈程序员-站长

相关推荐

  • C语言函数不可以单独编译_fcntl函数

    C语言函数不可以单独编译_fcntl函数函数原型:externvoidbzero(void*s,intn);函数功能:将字节字符串s的前n个字节置为0(包括‘\0’);头文件:#include说明:bzero函数是将s的前n个字符置为零,听起来是不是跟memset函数的功能有些类似呢。事实上,bzero函数包含在string,h头文件中,而string.h曾经是POSIX标准的一部分,但是在posix.1

    2022年10月13日
  • hadoopfs命令详解_hadoophdfs命令上传

    hadoopfs命令详解_hadoophdfs命令上传格式:hadoopfs-命令主要有如下的命令:命令说明hadoopfs-mkdir创建HDFS目录hadoopfs-ls列出HDFS目录hadoopfs-copyFromLocal使用-copyFromLocal复制本地文件(local)到HDFShadoopfs-put使用-put复制本地(local)文件到HDFShadoopfs-copyToLocal将HDFS上的文件复制到本地(local)hadoopfs-get将HDFS上的文件复制到本地

    2022年10月4日
  • 如何学分子模拟的软件

    如何学分子模拟的软件当今分子模拟已经成为很多领域学术研究的主流方法。多年前,因为计算量的原因,很多情况下,MC方法是首选,特别是只关心平衡体系,关心相边界行为的时候。随着计算资源的增加、计算成本的降低、一些研究对象的平衡态的体系已经几乎被做烂了,科研工作者慢慢关心动力学行为,非平衡特征,致力于发现新的现象,新的物理规律(总要有事做,有饭吃吧),于是MD越来越普及,用的人也越来越多。除了极端的方法学工作者,一般情况下…

    2022年5月26日
  • Jenkins安装_jenkins sonar

    Jenkins安装_jenkins sonar前言jenkins的环境搭建方法有很多,本篇使用docker快速搭建一个jenkins环境。环境准备:mac/Linuxdockerdocker拉去jenkins镜像先下载jenkins镜

    2022年7月29日
  • 改变随机数中一些值的概率

    改变随机数中一些值的概率

    2021年11月15日
  • 最常用三极管导通电路

    最常用三极管导通电路

    2022年6月15日

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号