国家的疫情降温了我也要开始继续写文章喽

Lucene 文章导航

文章列表……
12-05 暂无评论 110301 阅读详情

DocValues DocValues

DocValues概述……

Lucene 置顶,必看

博客计划……

Index 索引文件的生成(二十)之dvm&&dvd

本文承接文章索引文件的生成(十九)之dvm&&dvd继续介绍剩余的内容。……

Index 索引文件的生成(十九)之dvm&&dvd

在文章索引文件的生成(十八)之dvm&&dvd中,我们介绍了Lucene在索引阶段跟flush阶段收集到的SortedDocValues、SortedSetDocValues信息,这些信息将作为生成索引文件.dvm、dvd的依据。……

Index 索引文件的生成(十八)之dvm&&dvd

索引文件.dvm&&.dvd中根据文档中包含的不同类型的DocValuesFields,包含下面的DocValues信息……

Index 索引文件的生成(十七)之dvm&&dvd

本文承接索引文件的生成(十六)之dvm&&dvd继续介绍剩余的内容,先给出流程图……

Index 索引文件的生成(十六)之dvm&&dvd

在文章索引文件的生成(十五)之dvm&&dvd中,我们介绍了在索引(index)阶段收集文档的NumericDocValues信息的内容,随后在flush阶段,会根据收集到的信息生成索引文件.dvd&&.dvm。如果已经阅……

工具类 IndexedDISI(二)

在文章IndexedDISI(一)(阅读本文中之前,需要该前置文章)中我们介绍了在Lucene7.5.0中IndexedDISI的实现原理, 本文基于Lucene 8.4.0,将介绍优化后的IndexedDISI,即使用查找表(lookup table)……

工具类 IndexedDISI(一)

IndexedDISI工具类在Lucene中用来存储Norm/DovValues对应的文档号,其实现原理借鉴了roaring bitmaps(见文章RoaringDocIdSet),本文先通过介绍在Lucene7.5.0中的实现来理解其原理,接着会介绍在Luce……

Index 索引文件的生成(十五)之dvm&&dvd

在前面的文章中,我们介绍了在Lucene7.5.0中索引文件.dvd&&.dvm的数据结构,从本篇文章开始介绍其生成索引文件.dvd&&.dvm的内容,注意的是,由于是基于Lucene8.4.0来描述其生成过程,故如果……

Search 索引文件的读取(四)之dim&&dii

本文承接索引文件的读取(三)之dim&&dii继续介绍剩余的内容,下面先给出读取索引文件.dim&&dii的流程图:……

Search 索引文件的读取(三)之dim&&dii

本文承接索引文件的读取(二)之dim&&dii继续介绍剩余的内容,下面先给出读取索引文件.dim&&dii的流程图……

Search 索引文件的读取(二)之dim&&dii

本文承接索引文件的读取(一)之dim&&dii继续介绍剩余的内容,下面先给出读取索引文件.dim&&dii的流程图:……

Search 索引文件的读取(一)之dim&&dii

本系列的文章会通过例子来介绍索引文件的读取,本篇文章先介绍索引文件.dim&&.dii的读取,为了便于理解,请先阅读索引文件的生成(八)之dim&&dii至索引文件的生成(十四)之dim&&di……

Index 索引文件的生成(十四)之dim&&dii

在前面的文章中,我们介绍了构建BKD树的节点值(node value)的流程,其中叶子节点的信息被写入到了索引文件.dim中,本文开始的内容将会介绍将内部节点(非叶节点)的信息写入到索引……

Index 索引文件的生成(十三)之dim&&dii

本文承接索引文件的生成(十二)之dim&&dii,继续介绍剩余的内容,为了便于下文的介绍,先给出生成索引文件.dim&&.dii的流程图以及流程点构建BKD树的节点值(node value)的流程图:……

Index 索引文件的生成(十二)之dim&&dii

本文承接索引文件的生成(十一),继续介绍剩余的内容,为了便于下文的介绍,先给出生成索引文件.dim&&.dii的流程图以及流程点构建BKD树的节点值(node value)的流程图:……

Index 索引文件的生成(十一)之dim&&dii

本文承接索引文件的生成(十),继续介绍剩余的内容,为了便于下文的介绍,先给出生成索引文件.dim&&.dii的流程图以及流程点构建BKD树的节点值(node value)的流程图:……

Index 索引文件的生成(十)之dim&&dii

本文承接索引文件的生成(九),继续介绍剩余的内容……

Index 索引文件的生成(九)之dim&&dii

上一篇文章中,我们介绍了在索引(index)阶段,Lucene收集了跟点数据相关的信息,这些信息在flush阶段会被读取,用于生成索引文件.dim&&.dii,从本文开始介绍索引文件.dim&&.dii生成的详……

Index 索引文件的生成(八)之dim&&dii

在前面的文章中,我们介绍了在Lucene7.5.0中索引文件.dim&&.dii的数据结构,从本篇文章开始介绍其生成索引文件.dim&&.dii的内容,注意的是,由于是基于Lucene8.4.0来描述其生成过程,故如果……

Index 索引文件的生成(七)之tim&&tip

本文承接索引文件的生成(六)继续介绍剩余的内容,下面先给出生成索引文件.tim、.tip的流程图。……

Index 索引文件的生成(六)之tim&&tip

本文承接索引文件的生成(五)继续介绍剩余的内容,下面先给出生成索引文件.tim、.tip的流程图。……

Index 索引文件的生成(五)之tim&&tip

在前面的四篇文章中,我们介绍了生成索引文件.tim、.tip、.doc、.pos、.pay中.doc、.pos、.pay这三个索引文件的内容,接着我们继续图1中剩余的内容,即流程点生成索引文件.tim、.tip。……

Index 索引文件的生成(四)之跳表SkipList

在文章索引文件的生成(三)中我们介绍了在Lucene中生成跳表SkipList的流程,通过流程图的方法介绍了源码中的实现方式,而对于读取SkipList的内容,决定直接以例子的方式来介绍其读取……

Index 索引文件的生成(三)之跳表SkipList

在文章索引文件的生成(一)中我们说到,在生成索引文件.doc、.pos、.pay的过程中,当处理了128篇文档后会生成一个PackedBlock,并将这个PackedBlock的信息写入到跳表skipList中,使得在读取……

Index 索引文件的生成(二)之doc&&pay&&pos

本文承接索引文件的生成(一),继续介绍剩余的内容。……

Index 索引文件的生成(一)之doc&&pay&&pos

在执行flush()的过程中,Lucene会将内存中的索引信息生成索引文件……

压缩存储 DirectWriter&&DirectReader

阅读本篇文章需要前置内容:BulkOperationPacked,下文中会列出在文章BulkOperationPacked中涉及的代码,但是不会展开介绍。……

压缩存储 PackedInts(二)

本文承接PackedInts(一),继续介绍剩余的内容。……

压缩存储 PackedInts(一)

为了能节省空间,Lucene使用PackedInts类对long类型的数据进行压缩存储,基于内存使用率(memory-efficient)跟解压速度(读取速度),提供了多种压缩方法,我们先通过类图预览下这些压缩……

工具类 RamUsageEstimator

Lucene通过RamUsageEstimator类提供的方法来粗略的(roughly)估算Java对象在内存中的大小。计算对象大小的主要目的是配合flush策略将内存中的索引信息同步到磁盘,flush策略的概念可以看文章……

Index 构造IndexWriter对象(十)

本文承接构造IndexWriter对象(九),继续介绍调用IndexWriter的构造函数的流程。……

Index 构造IndexWriter对象(九)

本文承接构造IndexWriter对象(八),继续介绍调用IndexWriter的构造函数的流程。……

Index 构造IndexWriter对象(八)

本文承接构造IndexWriter对象(七),继续介绍调用IndexWriter的构造函数的流程。……

Index 构造IndexWriter对象(七)

本文承接构造IndexWriter对象(六),继续介绍调用IndexWriter的构造函数的流程。……

Index 构造IndexWriter对象(六)

本文承接构造IndexWriter对象(五),继续介绍调用IndexWriter的构造函数的流程。……

Index 构造IndexWriter对象(五)

本文承接构造IndexWriter对象(四),继续介绍调用IndexWriter的构造函数的流程。……

Index 构造IndexWriter对象(四)

本文承接构造IndexWriter对象(三),继续介绍调用IndexWriter的构造函数的流程。……

Index 构造IndexWriter对象(三)

大家可以查看文章构造IndexWriter对象(一)、构造IndexWriter对象(二)来了解前两部分的内容,我们接着继续介绍最后一个部分,即调用IndexWriter的构造函数。……

Index 构造IndexWriter对象(二)

在文章构造IndexWriter对象(一)中我们讲到了设置IndexWriter的配置信息IndexWriterConfig中不可配置的内容,接着我们继续介绍可配置的内容。……

Index 构造IndexWriter对象(一)

该系列文章将会介绍构造一个IndexWriter对象的流程……

Index 执行段的合并(五)

本文承接执行段的合并(四),继续介绍执行段的合并的剩余的流程……

Index 执行段的合并(四)

本文承接执行段的合并(三),继续介绍执行段的合并的剩余的流程……

Index 执行段的合并(三)

本文承接执行段的合并(二),继续介绍执行段的合并的剩余的流程……

Index 执行段的合并(二)

本文承接执行段的合并(一),继续介绍执行段的合并的剩余的流程……

Index 执行段的合并(一)

在前面的文章中,我们介绍了段的合并策略TieredMergePolicy、LogMergePolicy,讲述了如何从索引目录中挑选出满足合并条件的一个或多个段的集合OneMerge,另外还介绍了段的合并调度MergeSched……

Index SegmentReader(二)

本文承接SegmentReader(一),继续介绍生成SegmentReader的剩余的流程。……

Index SegmentReader(一)

在近实时搜索NRT的系列文章中,我们知道用于读取索引目录中所有索引信息的StandardDirectoryReader实际是使用了一个LeafReader数组封装了一个或者多个SegmentReader,而每一个SegmentReader则对应一……
博客主人Chris
80后,喜欢记录生活的点点滴滴,喜欢分享。
  • 文章总数
  • 377258访问次数
  • 建站天数
  • 友情链接