Lucene 8.5.0 的 `.pos` 文件**逻辑结构**(按真实实现重新整理)

```
.pos 文件
├─ Header (CodecHeader)
├─ TermPositions × TermCount        ← 每个 term 一段,顺序由词典隐式决定
│   ├─ PackedPosDeltaBlock × N      ← 仅当 **无 payload 且 无 offset** 时存在
│   │   └─ 64 个 position-delta(PackedInts 压缩)
│   ├─ VIntBlock × PosVIntCount     ← 必写;剩余所有位置
│   │   ├─ PositionDelta   VInt
│   │   ├─ PayloadLength?  VInt     ← 最低位标记法,payload 启用时出现
│   │   ├─ PayloadData?    byte[len] ← **尾巴**阶段内联;整块阶段在 .pay
│   │   ├─ OffsetDelta?    VInt     ← offsets 启用时出现
│   │   └─ OffsetLength?   VInt     ← 同上
└─ Footer (CodecFooter)
```

关键结论  
`TermPositions` 就是一段连续的二进制数据,其内部按顺序包含:

- 0 个或多个 `PackedPosDeltaBlock`(≥64 个 delta 时才有)  
- 1 个 `VIntBlock`(剩余尾巴,长度 ≥0)

因此:

TermPositions = [PackedPosDeltaBlock × N] + VIntBlock

1. **PackedPosDeltaBlock** 只存 **纯 position delta**;  
2. **只要启用 payload 或 offset,则 PackedPosDeltaBlock 不出现**,全部走 VIntBlock;  
3. **payload bytes** 在“尾巴”阶段 **内联在 `.pos`**,整块阶段 **在 `.pay`**;  
4. **offset 元数据** 始终写在 `.pos` 的 VIntBlock。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/pingmian/93841.shtml
繁体地址,请注明出处:http://hk.pswp.cn/pingmian/93841.shtml
英文地址,请注明出处:http://en.pswp.cn/pingmian/93841.shtml

如若内容造成侵权/违法违规/事实不符,请联系英文站点网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

基于Matlab多技术融合的红外图像增强方法研究

红外图像在低照度、强干扰和复杂环境下具有较强的成像能力,但受传感器噪声、成像条件及大气衰减等因素影响,原始红外图像往往存在对比度低、细节模糊及光照不均等问题。本文针对红外图像质量退化的特点,提出了一种基于多算法融合的红外图像增…

【时时三省】集成测试 简介

山不在高,有仙则名。水不在深,有龙则灵。 ----CSDN 时时三省 目录 1,集成测试含义 2,集成测试 验证方法 3,集成测试 用例设计方法 4,集成测试输出物 5,集成测试注意点 1,集成测试含义 单元测试在以V模型的流程中,对应的是架构设计阶段。在 单元测试 和 架构设计…

leetcode 76 最小覆盖子串

一、题目描述二、解题思路整体思路:模拟寻找最小覆盖子集的过程,由于可借助同向双指针且可以做到指针不回退,所以可以用滑动窗口的思想来解决这个问题。具体思路:(1)数组hash1用于统计t中每一个字符出现的频次,变量kin…

阿里云ECS服务器的公网IP地址

文章目录环境背景查询公网IP地址阿里云控制台阿里云客户端工具(图形界面)阿里云CLI工具(命令行)其它方法元数据服务器ipinfo.io参考注:本文介绍了如何获取阿里云ECS服务器的公网IP地址,可以顺便了解一下和阿…

IPSec 与 IKE 核心知识点总结

一、IPSec 安全基础IPSec 是保障 IP 数据传输安全的核心协议,其核心围绕密钥管理和安全策略约定展开,具体包括以下关键内容:1. 对称密钥的作用与要求对称密钥是 IPSec 实现加密、验证的基础,主要用于三个场景:加密 / 解…

C2ComponentStore

1. C2ComponentStore这是 Codec 2.0 HAL 的抽象接口(frameworks/av/media/codec2/core/include/C2ComponentStore.h)。代表一个「组件工厂」,负责:枚举当前可用的 Codec2 组件(解码器、编码器)。创建组件&a…

AI 在医疗领域的应用与挑战

引言介绍 AI 技术迅猛发展的大背景,引出其在医疗领域的重要应用。阐述研究 AI 医疗应用及挑战对推动医疗行业进步的重要意义。AI 在医疗领域的应用现状疾病诊断辅助:描述 AI 影像识别技术在识别 X 光、CT、MRI 影像中疾病特征的应用,如对肺癌…

【GPT入门】第51课 Conda环境迁移教程:将xxzh环境从默认路径迁移到指定目录

【GPT入门】第51课 Conda环境迁移教程:将xxzh环境从默认路径迁移到指定目录步骤1:创建目标目录(若不存在)步骤2:克隆环境到新路径步骤3:验证新环境可用性步骤4:删除旧环境(可选&…

应急响应-模拟服务器挂马后的应急相关操作

工具:攻击机: kail:192.168.108.131 kail下载地址:https://mirrors.aliyun.com/kali-images/kali-2021.3/kali-linux-2021.3-live-i386.iso靶机:windows 7: 192.168.108.1321、在kali中制作木马文件:vhost.exe&#xf…

记一次 .NET 某光谱检测软件 内存暴涨分析

一:背景 1. 讲故事 训练营里的一位学员找到我,说他们的系统会出现内存暴涨的情况,看了下也不是托管堆的问题,让我协助一下到底怎么回事?既然有dump了,那就开始分析之旅吧。 二:内存暴涨分析 1. …

基于OpenCV的物体识别与计数

在计算机视觉领域,利用图像处理技术进行物体识别和计数是一项基础且重要的任务。本文将介绍一种使用OpenCV库实现的高效物体识别与计数方法,并提供一些代码片段以帮助理解各个步骤。 这是前几年做过传统图像处理计数的项目,通过传统图像处理之…

算法题打卡力扣第34题:在排序数组中查找元素的第一个和最后一个位置(mid)

题目描述提示&#xff1a; 0 < nums.length < 105 -109 < nums[i] < 109 nums 是一个非递减数组 -109 < target < 109 解题思路一 暴力解 头到尾遍历整个数组。 用一个变量 first 记录第一次遇到 target 的索引。 继续遍历&#xff0c;用另一个变量 last 不断…

虚幻基础:曲线

能帮到你的话&#xff0c;就给个赞吧 &#x1f618; 文章目录曲线&#xff1a;数值变化的曲线动画曲线动画曲线get curve value只有curve所在动画被播放才返回曲线数值没播放时 返回0一个曲线可以在多个动画中使用 且可以设置曲线的不同值曲线&#xff1a;数值变化的曲线 动画…

MFC随笔—不使用对话框资源模板创建对话框

在MFC程序中使用对话框时一般都是首先在资源模版里创建对话框资源,然后DoModal()或者Create显示出模式对话框或者非模式对话框。然而采用该方式创建出的对话框移植性差,从一个工程移动到另一个工程比较麻烦。 在MFC中还有另一种创建对话框的方法,即利用DLGTEMPLATE、DLGITEM…

第八十六章:实战篇:文本生成脚本 → TTS + 镜头 → 视频整合——让你的文字“动听”又“好看”!

AI导演链路前言&#xff1a;AI的“智能制片人”——文本 → 视频&#xff0c;你的想法“一键出片”&#xff01;第一章&#xff1a;痛点直击——传统视频制作&#xff0c;累到“吐血”&#xff01;第二章&#xff1a;探秘“智能制片厂”&#xff1a;流水线上的四大核心模块&…

Linux内核源码详解--缺页异常(Page Fault)处理的核心函数handle_pte_fault

handle_pte_fault 是 Linux 内核中处理缺页异常&#xff08;Page Fault&#xff09;的核心函数&#xff0c;负责根据页表项&#xff08;PTE&#xff09;的状态和访问权限&#xff0c;分发到不同的子处理逻辑&#xff08;如匿名页映射、文件页映射、写时复制、NUMA 迁移等&#…

基于混合注意力网络和深度信念网络的鲁棒视频水印技术基础理论深度解析

1. 引言随着数字媒体技术的迅猛发展和互联网的普及&#xff0c;视频内容的创作、传播和分享变得前所未有的便捷。然而&#xff0c;这种便利性也带来了严重的版权保护挑战。数字视频的易复制性使得盗版和非法传播成为困扰内容创作者和版权所有者的重大问题。传统的加密技术虽然能…

linux 之virtio 的驱动框架

1、基本知识 上一篇文章介绍了 virtio 的核心数据的实现和逻辑&#xff1a;linux 之 virtio 子系统核心的数据结构-CSDN博客 virtio 是对半虚拟化 hypervisor 中的一组通用模拟设备的抽象。它允许 hypervisor 导出一组通用的模拟设备&#xff0c;并通过一个通用的应用编程接口…

项目1总结其三(图片上传功能)

1、UploadService public interface UploadService {//上传图片String uploadImage(MultipartFile file, String type); }upload.location D:/upload Value("${upload.location}")private String uploadLocation;//文件上传路径Overridepublic String uploadImage(M…

Linux应用层开发--线程池介绍

Glib 线程池 1. 线程池简介 线程池是一种管理和重用多个线程的设计模式&#xff1a; 避免频繁创建/销毁线程的开销。提高性能与资源利用率。任务提交后&#xff0c;由线程池内的线程自动执行&#xff0c;任务执行完线程不会退出&#xff0c;而是继续等待下一个任务。 2. Gli…