自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Lucene 索引文件的生成(十九)之dvd&&dvm

在文章索引文件的生成(十八)之dvm&&dvd中,我们介绍了Lucene在索引阶段跟flush阶段收集到的SortedDocValues、SortedSetDocValues信息,这些信息将作为生成索引文件.dvm、dvd的依据。生成索引文件.dvd、.dvm之SortedDocValues、SortedSetDocValues的流程图图1:是否所有文档中都是单值?图2:  如果每篇文档中的某个域名的SortedSetDocValueField只有一个,即所谓的单

2020-05-31 20:19:11 495

原创 Lucene 索引文件的生成(十八)之dvd&&dvm

索引文件.dvm&&.dvd中根据文档中包含的不同类型的DocValuesFields,包含下面的DocValues信息:BinaryDocValues NumericDocValues:见文章索引文件的生成(十五)之dvm&&dvd SortedDocValues SortedNumericDocValues:见文章索引文件的生成(十七)之dvm&&dvd SortedSetDocValues  本篇文章开始介绍生成索引文件.dvd、.dvm之

2020-05-31 20:17:58 231

原创 Lucene 索引文件的生成(十七)之dvd&&dvm

本文承接索引文件的生成(十六)之dvm&&dvd继续介绍剩余的内容,先给出流程图:生成索引文件.dvd、.dvm之NumericDocValues的流程图图1:使用域值映射存储图2:  介绍本流程点之前,先介绍下什么是域值映射存储:域值映射存储通过一个映射关系,将每一种域值映射为一个新的数值,并且存储该数值到索引文件.dvd中,在读取阶段通过该数值和映射关系,获得原始的域值。  生成映射关系encode需要几下几个步骤:步骤一:收集域值种类 步骤二:排

2020-05-26 18:46:57 222

原创 Lucene 索引文件的生成(十六)之dvd&&dvm

在文章索引文件的生成(十五)之dvm&&dvd中,我们介绍了在索引(index)阶段收集文档的NumericDocValues信息的内容,随后在flush阶段,会根据收集到的信息生成索引文件.dvd&&.dvm。如果已经阅读了文章NumericDocValues,那么能快的理解本文的内容,注意的是那篇文章中,是基于Lucene 7.5.0,下文中的内容基于Lucene 8.4.0,不一致(优化)的地方会特别说明。生成索引文件.dvd、.dvm之NumericDocValu

2020-05-26 18:45:48 159

原创 Lucene 之 IndexedDISI(二)

在文章IndexedDISI(一)(阅读本文中之前,需要该前置文章)中我们介绍了在Lucene7.5.0中IndexedDISI的实现原理, 本文基于Lucene 8.4.0,将介绍优化后的IndexedDISI,即使用查找表(lookup table)提高了查询性能。  我们先根据源码中的注释看下优化的目的与方式,也可以直接查看IndexedDISI.java文件中的Javadoc:1To avoid O(n) lookup time complexity, wit...

2020-05-14 16:20:41 218

原创 Lucene 之 IndexedDISI(一)

IndexedDISI工具类在Lucene中用来存储Norm/DovValues对应的文档号,其实现原理借鉴了roaring bitmaps(见文章RoaringDocIdSet),本文先通过介绍在Lucene7.5.0中的实现来理解其原理,接着会介绍在Lucene8.4.0中的优化实现。IndexedDISI写入文档号Block  使用IndexDISI存储的数据结构如下所示:图1:  图1中,每个block用来描述最多2^16个文档号信息,例如第一个block中描述的文档号集合为

2020-05-14 16:19:38 284

原创 Lucene 索引文件的生成(十五)之dvd&&dvm

在前面的文章中,我们介绍了在Lucene7.5.0中索引文件.dvd&&.dvm的数据结构,从本篇文章开始介绍其生成索引文件.dvd&&.dvm的内容,注意的是,由于是基于Lucene8.4.0来描述其生成过程,故如果出现跟Lucene7.5.0中不一致的地方会另外指出,索引文件.dvd&&.dvm中的包含了下面几种类型:BinaryDocValues NumericDocValues SortedDocValues SortedNumericDoc

2020-05-14 16:18:41 232

原创 Lucene 索引文件的读取(四)之dim&&dii

本文承接索引文件的读取(三)之dim&&dii继续介绍剩余的内容,下面先给出读取索引文件.dim&&dii的流程图:图1:点击查看大图设置左子树、右子树的准备数据看这里:https://www.amazingkoala.com.cn/Lucene/Search/2020/0506/138.html...

2020-05-14 16:17:41 154

原创 Lucene 索引文件的读取(三)之dim&&dii

本文承接索引文件的读取(二)之dim&&dii继续介绍剩余的内容,下面先给出读取索引文件.dim&&dii的流程图:图1:点击查看大图读取索引文件.dim&&dii判断节点与查询条件的边界关系看这里:https://www.amazingkoala.com.cn/Lucene/Search/2020/0430/137.html...

2020-05-14 16:16:56 129

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关注的人

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