【lucene】advanceshallow就是遍历跳表的,可以看作是跳表的遍历器

一句话总结所有关键点:

  1. `skipTo(target)` 的返回值 不是"跳过的精确文档数",而是上一个间隔已跳过累计数;

  2. `lastDoc` 是 小于 target 的最后一个间隔的最后一个 docID;

  3. `lastChildPointer` 指向 ≥ target 的那个间隔在 posting 列表中的起始文件指针;

  4. Lucene 把 docID 按全局升序排序后,只有第一个存绝对 docID,其余全部存"与前一个的差值";

  5. 这些差值被 128 个一组 block 压缩,但差值链 跨 block 连续,不会因为换块而重置;

  6. 读 block 时给 `base`(上一 block 最后一个绝对 docID),就地累加本 block 128 个 delta,避免从文件头一路算到当前位置,实现 O(1) 定位 + O(128) 解压。

相关推荐
闻哥2 天前
深入理解 ES 词库与 Lucene 倒排索引底层实现
java·大数据·jvm·elasticsearch·面试·springboot·lucene
龙山云仓2 天前
No140:AI世间故事-对话康德——先验哲学与AI理性:范畴、道德律与自主性
大数据·人工智能·深度学习·机器学习·全文检索·lucene
TracyCoder1234 天前
ElasticSearch核心引擎Apache Lucene(五):相关性算分 (Scoring)
elasticsearch·apache·lucene
TracyCoder1235 天前
ElasticSearch核心引擎Apache Lucene(四):段 (Segment) 的设计与合并
elasticsearch·apache·lucene
TracyCoder1235 天前
ElasticSearch核心引擎Apache Lucene(三):数值与空间数据索引
elasticsearch·apache·lucene
Elastic 中国社区官方博客5 天前
Elasticsearch:Apache Lucene 2025 年终总结
大数据·人工智能·elasticsearch·搜索引擎·apache·lucene
TracyCoder1235 天前
ElasticSearch核心引擎Apache Lucene(二):正排索引的奥秘
elasticsearch·apache·lucene
TracyCoder1235 天前
ElasticSearch核心引擎Apache Lucene(一):倒排索引底层实现
elasticsearch·apache·lucene
程序员agions25 天前
Unity 游戏开发邪修秘籍:从入门到被策划追杀的艺术
unity·cocoa·lucene
AC赳赳老秦25 天前
Unity游戏开发实战指南:核心逻辑与场景构建详解
开发语言·spring boot·爬虫·搜索引擎·全文检索·lucene·deepseek