自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(7)
  • 资源 (3)
  • 收藏
  • 关注

原创 Lucene 索引文件的生成(二十二)之nvd&&nvm

在执行flush()的过程中,Lucene会将内存中的索引信息生成索引文件,本篇文章继续介绍索引文件.nvd&&.nvm,其生成的时机点如下图红色框标注:图1:  图1的流程图属于Lucene 7.5.0,在Lucene 8.4.0中同样适用,该流程图为flush()过程中的一个流程点,详情见文章文档提交之flush(二)。  生成索引文件.nvd&&.nvm的目的在于存储normValue值以及文档号,我们先了解下在索引阶段(index phase),Luc

2020-08-28 15:48:58 376

原创 Lucene Automaton(三)

在文章Automaton(二)中我们根据图1的例子生成了图2的转移图以及转移图对应在源码中的描述方式,即状态(state)、转移(transition)函数两个数组,如图3所示:图1:图2:图3:  如果给定一个term,它的最后一个字符作为输入字符,随后在某个状态下,能根据某个转移函数找到下一个状态,并且该状态为可接受状态,那么term是被DFA接受的,其中输入字符、状态、转移函数、DFA的概念见文章Automaton的介绍。  根据图3的两个数据结构,用肉眼已经可以判断出

2020-08-24 09:47:36 167

原创 Lucene 索引文件的读取(十一)之tim&&tip

 在上一篇文章索引文件的读取(十)之tim&&tip中我们遗留了一个问题:  为什么要根据是否达到阈值使用不同的处理方式:  这个问题可以分解为两个小问题:问题一:为什么达到阈值后不使用BooleanQuery的方式做文档号的收集 问题二:为什么未达到阈值使用BooleanQuery的方式做文档号的收集处理方式  这两种处理方式的不同之处就在于如何根据每个term对应的文档号集合,并从这些集合中获取满足查询条件的文档号集合。未达到阈值  未达到阈值的情况下,会根据

2020-08-19 17:40:02 181

原创 Lucene 索引文件的读取(十)之tim&&tip

本文承接文章索引文件的读取(九)之tim&&tip,继续介绍剩余的流程点,先给出流程图:获取满足TermRangeQuery查询条件的term集合的流程图图1:收集Term图2:  在文章索引文件的读取(九)之tim&&tip中我们说到,在查询期间,满足查询条件的term数量未达到阈值(默认值16)跟达到阈值后的处理方式是不同的。未达到阈值  当满足查询条件的term数量未达到阈值(默认值16),会将TermRangeQuery转变为Boo

2020-08-12 18:51:27 269

原创 Lucene 索引文件的读取(九)之tim&&tip

 本文承接文章索引文件的读取(八)之tim&&tip,继续介绍剩余的流程点,先给出流程图:获取满足TermRangeQuery查询条件的term集合的流程图图1:获取迭代器IntersectTermsEnum图2:  IntersectTermsEnum类继承于抽象类TermsEnum,TermsEnum在Lucene中到处可见,它封装了一个段中term的相关操作,下面罗列了TermsEnum类中的几个常用/常见的方法:TermsEnum判断段中是否存在某

2020-08-10 18:38:30 319

原创 Lucene 索引文件的读取(八)之tim&&tip

本文承接文章索引文件的读取(七)之tim&&tip,继续介绍剩余的流程点,先给出流程图:获取满足TermRangeQuery查询条件的term集合的流程图图1:BlockTreeTermsReader  在上一篇文章中,我们已经介绍了当前流程点BlockTreeTermsReader,并且提到在生成FieldReader期间,会采用on-heap/off-heap两种导入模式(loadMode)来获取所有域的FST的主要信息,但是没有说明Lucene是如何选择这两种导入模

2020-08-05 15:26:48 509

原创 Lucene 索引文件的读取(七)之tim&&tip

本篇文章开始介绍索引文件tim&&tip的读取,通过TermRangeQuery的例子来介绍如何从索引文件.tim&&.tip中获取满足查询条件的所有term。  为了便于介绍,使用了文章Automaton(二)中提供的例子:图1:  结合图1的例子,获取满足查询条件(第79行代码)的所有term的过程可以简单的用一句话来描述:根据域名"content",从索引文件.tim&&.tip中获取该域对应的term集合,随后遍历集合中的每一个term

2020-08-04 19:31:35 569

Lucene DocValues介绍

介绍了Lucene 7.5.0版本的 DocValues,文档中的链接包含了SortedSetDocValues、SortedDocValues、NumericDocValues、SortedNumericDocValues、BinaryDocValues

2019-04-22

effective STL 高清+标签

effective STL 高清+标签 复印版 不会有任何的错误 的

2018-05-16

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除