首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
lucene源码系列
沧叔解码
创建于2022-04-04
订阅专栏
尽量输出网上少有人讲的lucene实现。
等 78 人订阅
共34篇文章
创建于2022-04-04
订阅专栏
默认顺序
默认顺序
最早发布
最新发布
Lucene源码系列(三十四):分词器的框架设计
本文介绍Lucene中分词器这个组件,目的不是为了介绍具体的分词算法实现,而是介绍Lucene中分词模块的框架设计,从而在我们的业务场景中,知道如何基于Lucene分词框架自定义满足业务需求的分词器。
Lucene源码系列(三十三):文档删除和DocValues更新
本文主要介绍Lucene中文档删除和DocValues更新的处理逻辑。重点掌握删除范围的设计实现,我们有类似场景也可以借鉴。
Lucene源码系列(三十二):索引文件删除策略
在上一篇文章中我们介绍了IndexCommit粒度的索引删除策略,本文要介绍的是文件粒度的索引文件删除策略。因为在索引的生命周期过程中,会产生一些无用的文件,这些文件需要删除减少资源占用。
Lucene源码系列(三十一):索引删除策略
本文介绍Lucene中索引删除策略,它是以IndexCommit为粒度进行管理的,本文是为了后面介绍文件粒度管理做铺垫。
Lucene源码系列(三十):segments_N索引文件格式
segments_N文件 简介 在调用IndexWriter.commit方法后,索引目录会生成segments_N一个文件,用来描述当前索引目录中所有有效的段的信息,也就是si文件。
Lucene源码系列(二十九):fnm索引文件格式
后缀为fnm文件是存储索引的全部字段的元信息,包含字段名称,字段类型,字段属性,索引数据构建的类型等信息。
Lucene源码系列(二十八):si索引文件格式
lucene索引的最小单位是段,每当生成一个新的段时(flush,commit,merge,addIndexes等),会生成一个段信息的描述文件,后缀是si。
Lucene源码系列(二十七):BKD树构建
本文介绍完全二叉BKD树的构建,先从一个简单的面试题入手,整体上了解构建流程,想知道BKD树逻辑上如何构建看到这里即可。如果还要深入了解,也有源码解析。最后有索引文件的总结。
Lucene源码系列(二十六):DocValues-SortedSetDocValues
SortedSetDocValues和BinaryDocValues的关系就像SortedNumericDocValues和NumericDocValues的关系一样。
Lucene源码系列(二十五):DocValues-SortedDocValues
SortedDocValues存储的也是二进制,并且都是每个文档同名的最多一个,但是SortedDocValues在存储的时候会全局排序,所以存储的结构会复杂很多。
Lucene源码系列(二十四):DocValues-BinaryDocValues
前面我们介绍的两种DocValues都是数值类型的。今天我们要开始介绍字符串类型的DocValues。
Lucene源码系列(二十三):DocValues-SortedNumericDocValues
本文介绍SortedNumericDocValues,它和NumericDocValues的区别是每个文档只能有一个NumericDocValues字段,但是可以有多个同名的SortedNumeric
Lucene源码系列(二十二):DocValues-NumericDocValues
本文介绍第一种DocValue类型:NumericDocValues。NumericDocValues是其他一些DocValue的基础,所以我们先行介绍。
Lucene源码系列(二十一):DocValues-综述
DocValues也是用来存储文档的字段的值的,正排索引也是用来存储字段值的,那它们有什么区别?为什么有了正排索引之后还要设计一个DocValues?
Lucene源码系列(二十):正排索引文件构建
背景 Lucene中根据term字典和倒排可以快速查找到相关文档的id,那怎么获取文档中的字段内容呢,这就是我们今天要讲的正排数据。
Lucene源码系列(十九):多值编码压缩算法
之前在看索引文件构建的源码时,会经常碰到对于正整数的批量压缩应用,而且有好几个不同的类,当时都是把它们当成黑盒忽略,现在花了点时间,总算是把这些不同应用场景都区分了。
Lucene源码系列(十八):单值编码压缩算法
本文收集了我在看Lucene源码中遇到的所有的对单值(int,long,float,double)的压缩算法,可能一种类型针对不同的场景会有多种不同的压缩策略,本文会随着我自己的源码阅读不断持续更新。
Lucene源码系列(十七):词向量索引文件构建
词向量存储的数据和倒排索引的数据是完全一样的,但是因为使用的场景不同导致二者的存储结构不同。倒排索引用于检索,词向量的一个最经常的应用是高亮。
Lucene源码系列(十六):term字典的构建
全文检索引擎最核心的两块数据就是term字典和term的倒排索引,根据倒排索引我们可以非常快速的获取跟term相关的文档,但是如何根据term来获取term的倒排索引数据呢?这就需要term字典了。
Lucene源码系列(十五):倒排索引文件生成
在前面的文章中,我们已经知道了倒排信息在内存中的存储结构以及如何读取。本文要介绍的是倒排信息持久化成索引文件的过程。
下一页