当前位置: 首页 > news >正文

【Elasticsearch】IndexModule

一句话:

IndexModule 是“为单个索引创建 IndexService 的工厂 + 插件扩展点”,负责把索引级别的配置、插件、分析器、相似度、快照引擎等组件装配成一个可运行的 IndexService 实例。

---

✅ IndexModule 的核心职责(启动阶段)

维度 作用 

工厂角色 创建并返回 `IndexService` 实例(见 `IndexModule.newIndexService(...)`)。 

插件扩展点 允许插件通过 `IndexModule.add*()` 方法注册:- 自定义 `Similarity`(评分算法)- 自定义 `QueryCache`- 自定义 `Directory`(存储后端)- 自定义 `IndexEventListener`- 自定义 `MergePolicy`、`Codec`、`RecoveryStateFactory` … 

配置注入 把索引级设置(settings)、映射(mapping)、分析器(analysis)注入到即将创建的 IndexService。 

版本/兼容性 检查索引创建时的版本兼容性,设置正确的 lucene codec。 

---

✅ 与 IndexService、IndexShard 的创建关系

1. 节点启动 → `IndicesService.createIndex(...)`  

2. 构建一个 IndexModule(此时只是“配方”)  

3. 插件通过 `onIndexModule()` 回调往里加料  

4. `IndexModule.newIndexService(...)` → 真正生成 IndexService  

5. IndexService 再按需创建 IndexShard

---

✅ 一句话总结

> IndexModule 就是“索引的装配车间”:把配置、插件、扩展点打包好,最终生产出 IndexService;它本身不保存运行时状态,只在索引创建/恢复时用到一次。

http://www.xdnf.cn/news/1160857.html

相关文章:

  • 【Elasticsearch】BM25的discount_overlaps参数
  • SVM(Support Vector Machine)从入门到精通
  • [Python] -项目实战10- 用 Python 自动化批量重命名文件
  • odoo-059 xml中字段上写 domain 和 filter_domain 什么区别
  • 第三章自定义检视面板_创建自定义编辑器类_如何自定义预览窗口(本章进度5/9)
  • Ubuntu 22.04 安装 Jdk 8和 Tomcat (安装包形式)
  • 基于python django的BOSS直聘网站计算机岗位数据分析与可视化系统,包括薪酬预测及岗位推荐,推荐算法为融合算法
  • Sklearn 机器学习 IRIS数据 理解分类报告
  • Nginx IP授权页面实现步骤
  • 分布在内侧内嗅皮层(MEC)的带状细胞对NLP中的深层语义分析有什么积极的影响和启示
  • Zetane:让深度学习不再抽象,一键3D可视化
  • CFD总压边界条件的理解与开发处理
  • 深入解析 Linux 硬链接与软链接:原理、区别及应用场景
  • 用户虚拟地址空间布局架构
  • C语言:20250721笔记
  • 日历类生辰八字九九三伏入梅出梅算法
  • 【用unity实现100个游戏之34】使用环状(车轮)碰撞器(Wheel Collider)从零实现一个汽车车辆物理控制系统,实现一个赛车游戏
  • PHP反序列化漏洞详解
  • 悬镜安全将受邀参加2025开放原子开源生态大会
  • 进程资源分配的安全性判断与安全序列
  • A316-Mini-V1:超小尺寸USB高清音频解码器模组技术探析
  • 基于Vue与CloudBase AI Toolkit的色觉识别Web应用开发报告:VibeCoding新范式实践
  • C#/.NET/.NET Core技术前沿周刊 | 第 47 期(2025年7.14-7.20)
  • 【前端状态更新与异步协调完全指南:React、Vue架构原理与复杂业务场景实战】
  • Django关于ListView通用视图的理解(Cursor解释)
  • RBAC(Role-Based Access Control,基于角色的访问控制)介绍(一种通过角色来管理用户权限的访问控制模型)
  • Spring Boot 集成 RabbitMQ:普通队列、延迟队列与死信队列全解析
  • 微信小程序服务端快速对接指南(java版)
  • Taro 路由相关 API 详解与实战
  • OpenCV学习(二)-二维、三维识别