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

Lucene 文章导航

文章列表……
11-30 暂无评论 110301 阅读详情

Index 段内排序IndexSort(一)

段内排序IndexSort是Lucene在索引(Indexing)阶段提供的一个功能,该功能使得在执行flush、commit或者NRT操作后,新生成的段其包含的文档是有序的,即在索引阶段实现了文档的排序……

Search GeoQuery(二)

在上一篇文章GeoQuery(一)中,我们基于下面的例子介绍了在GeoHash编码在Elasticsearch中的部分实现,我们继续介绍其剩余内容……

Lucene 置顶,必看

博客计划……

OpenSearch OpenSearch-SQL调研

OpenSearch-SQL介绍……

Search GeoQuery(一)

本系列文章将介绍下Elasticsearch中提供的几个地理查询]在Lucene层的相关内容……

Search DisjunctionMaxQuery(一)

本系列的内容将会先介绍DisjunctionMaxQuery在Lucene中的实现原理,随后再介绍在Elasticsearch中的应用。我们先直接通过图1中DisjunctionMaxQuery的注释跟图2的构造函数来简单了解下这个Query的功能……

Search IndexOrDocValuesQuery

本篇文章介绍下Lucene中用于优化范围(数值类型point或者term类型)查询的Query:IndexOrDocValuesQuery……

Search 查询TopN的优化之NumericDocValues(二)

在上一篇文章的结尾,我们总结了使用NumericDocValues优化查询TopN的原理:假设查询TopN的排序规则为按照正排值从小大小的顺序,即正排值越小,优先级越高……

工具类 文档号收集器DocIdSet

本篇文章将介绍Lucene中用于存储文档号的数据结构DocIdSet,该抽象类的具体实现有以下几种,我们将一一介绍……

Search 查询TopN的优化之NumericDocValues(一)

在索引阶段,我们可以在每一篇文档中添加一条或多条DocValues信息(正排),使得在查询阶段,当收集器Collector收集到满足查询条件的文档号后,可以根据文档号找到对应的正排信息,……

Index ForceMerge(二)

强制合并……

Index ForceMerge(一)

强制合并……

Index 内存索引(一)

Lucene中的内存索引……

Index 索引文件的载入(一)之fdx&&fdt&&fdm

在文章SegmentReader(一)中,我们介绍了SegmentReader对象,它用于描述一个段中的索引信息,并且说到SegmentReader对象中包含了一个SegmentCoreReaders对象……

Index Lucene核心技术

PPT格式介绍Lucene……

Codecs SIMD(Single Instruction Multiple Data)

从Lucene 8.4.0开始,在写入/读取倒排信息时,即写入/读取索引文件.doc、.pos、.pay时,通过巧妙的编码方式(下文中展开)使得C2编译器能生成SIMD(Single Instruction Multiple Data)指令,从而提……

Index 索引文件的合并(四)之kdd&kdi&kdm

本篇文章开始介绍索引文件kdd&kdi&kdm的合并,由于维度值为1和维度值大于等于2的点数据对应的索引文件的合并方式有较大的差异,故我们分开介绍……

Index 索引文件的生成(二十五)之kdd&kdi&kdm

为了后续便于介绍索引文件的合并,我们需要再写一篇文章来介绍维度值等于1的生成过程。……

Index ReaderPool(二)

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

Index ReaderPool(一)

ReaderPool类对于理解Lucene的一些机制起到了极其关键的作用,这些机制至少包含段的合并、作用(apply)删除信息、NRT(near real-time)、flush/commit与merge的并发过程中的删除信息的处理等等……

Index 索引文件的合并(三)之fdx&&fdt&&fdm

本文承接文章索引文件的合并(二)之fdx&&fdt&&fdm,继续介绍剩余的内容,下面先给出索引文件fdx&&fdt&&fdm的合并流程图……

Index 索引文件的合并(二)之fdx&&fdt&&fdm

本文承接文章索引文件的合并(一)之fdx&&fdt&&fdm,继续介绍剩余的内容,下面先给出索引文件fdx&&fdt&&fdm的合并流程图……

Index 索引文件的合并(一)之fdx&&fdt&&fdm

从本篇文章开始介绍索引文件合并的过程……

DocValues BinaryDocValues-8.7.0

阅读本文前建议先看下BinaryDocValues、索引文件的生成(二十一)之dvm&&dvd两篇文章,因为很多重复的内容不会在本文中展开。……

索引文件 索引文件之tvd&&tvx&&tvm

在索引(Indexing)阶段,当某个域被设置为需要记录词向量(term vector)信息后……

Search 索引文件的读取(十五)之fdx&&fdt&&fdm

本文承接文章[索引文件的读取(十四)之fdx&&fdt&&fdm](https://www.amazingkoala.com.cn/Lucene/Search/2020/1102/174.html),继续介绍剩余的内容。为了更好的理解下文中的内容,建议先阅读文章[DirectMon……

Changes Changes(Lucene 8.7.0)

Lucene 8.7.0 changes……

IndexFile IndexFile kdd&kdi&kdm

Index file about kdd&kdi&kdm……

Search 索引文件的读取(十四)之fdx&&fdt&&fdm

前几篇索引文件的读取的系列文章中,我们介绍[索引文件tim&&tip](https://www.amazingkoala.com.cn/Lucene/suoyinwenjian/2019/0401/43.html)的读取时机点时说到,在生成[StandardDirectoryReader](https://www.amazing……

压缩存储 DirectMonotonicWriter&&Reader

DirectMonotonicWriter类用来存储单调递增的整数序列(monotonically-increasing sequences of integers),使用了**先编码后压缩**的存储方式,DirectMonotonicReader类则是用来解码跟解压……

索引文件 索引文件之kdd&kdi&kdm

从Lucene8.6.0开始,用于存储点数据(point value)的索引文件由原先的两个索引文件dim&&dii,改为三个索引文件kdd&kdi&kdm。由于生成kdd&kdi&kdm的过程基本上没有太大的变动,并且索引文件的数……

Index 索引文件的生成(二十四)之fdx&&fdt&&fdm

本文承接文章索引文件的生成(二十三)之fdx&&fdt&&fdm,继续介绍剩余的内容,先给出生成索引文件fdx&&fdt&&fdm的流程图……

Index 索引文件的生成(二十三)之fdx&&fdt&&fdm

从本篇文章开始介绍用于描述存储域(存储域的概念见文章索引文件之fdx&&fdt&&fdm)的索引文件.fdx、.fdt、.fdm的生成过程,直接给出流程图……

索引文件 索引文件之fdx&&fdt&&fdm

在索引阶段,如果某个域的属性中包含store,意味着该域的域值信息将被写入到索引文件fdx&&fdt&&fdm中,域的属性可以通过FieldType来设置,如下所示……

压缩存储 FST(二)

在文章FST(一)(必须先阅读该篇文章)中我们通过一个例子,简单的描述了Lucene是如何使用一个字节数组current[ ]存储FST信息的,为了能更好的理解读取过程,我们需要另外给出例子(……

Search block-max-WAND(一)

从Lucene 8.0.0开始,Lucene新增了block-max WAND(Weak AND)算法,用于优化TopN的查询。该算法的引入可谓是一波三折,可以查看作者Adrien Grand对该算法的介绍:https://www.elastic.co/cn/blog/faster-ret……

Search 索引文件的读取(十三)之doc&&pos&&pay

本文承接文章索引文件的读取(十二)之doc&&pos&&pay,继续介绍剩余的内容。索引文件.doc、.pos、.pay的读取过程相比索引文件.tim&&.tip较为简单……

Search 索引文件的读取(十二)之doc&&pos&&pay

在前几篇索引文件的读取的系列文章中,我们介绍索引文件tim&&tip的读取时机点时说到,在生成StandardDirectoryReader对象期间,会生成SegmentReader对象,该对象中的FieldsProducer信息描述了索引……

Index 索引文件的生成(二十二)之nvd&&nvm

在执行flush()的过程中,Lucene会将内存中的索引信息生成索引文件,本篇文章继续介绍索引文件.nvd&&.nvm,其生成的时机点如下图红色框标注……

工具类 Automaton(三)

在文章Automaton(二)中我们根据图1的例子生成了图2的转移图以及转移图对应在源码中的描述方式,即状态(state)、转移(transition)函数两个数组,如图3所示……

Search 索引文件的读取(十一)之tim&&tip

在上一篇文章索引文件的读取(十)之tim&&tip中我们遗留了一个问题……

Search 索引文件的读取(十)之tim&&tip

本文承接文章索引文件的读取(九)之tim&&tip,继续介绍剩余的流程点,先给出流程图……

Search 索引文件的读取(九)之tim&&tip

本文承接文章索引文件的读取(八)之tim&&tip,继续介绍剩余的流程点,先给出流程图……

DocValues DocValues

DocValues概述……

Search 索引文件的读取(八)之tim&&tip

本文承接文章索引文件的读取(七)之tim&&tip,继续介绍剩余的流程点,先给出流程图……

Search 索引文件的读取(七)之tim&&tip

本篇文章开始介绍索引文件tim&&tip的读取,通过TermRangeQuery的例子来介绍如何从索引文件.tim&&.tip中获取满足查询条件的所有term……

工具类 Automaton(二)

在文章Automaton中我们介绍了确定型有穷自动机(Deterministic Finite Automaton)的概念,以及在TermRangeQuery中如何根据查询条件生成一个转移图,本文依旧根据该文章中的例子,介绍在Lucene中如何……

Search RangeField(一)

本文将介绍Lucene中提供的范围域(RangeField),以及基于该域实现的范围查询……
博客主人Chris
不知道天上宫阙,今夕是何年。
  • 文章总数
  • 811560访问次数
  • 建站天数
  • 友情链接