当前位置: 首页 > 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.dtcms.com/a/290895.html

相关文章:

  • 【沧海拾昧】微分先行PID与中间微分反馈控制
  • 工业网关的应用场景
  • 【正常配置了beast扩展,phpinfo信息也显示了,但是就是不运行】
  • 前端-DOM
  • pandas 的series和dataframe的用法,六个题目
  • 141、环形链表
  • 前后端分离项目进阶1---后端
  • 果园里的温柔之手:Deepoc具身智能如何重塑采摘机器人的“生命感知”
  • Python day20 - 特征降维之奇异值分解
  • 【设计模式C#】工厂方法模式(相比简单工厂模式更加具有灵活性和扩展性的工厂模式)
  • git_guide
  • prometheus主动服务发现机制
  • 在 React 中实现全局防复制hooks
  • Java 解析前端上传 ZIP 压缩包内 Excel 文件的完整实现方案
  • Neo4j 5.x版本的导出与导入数据库
  • 易语言+懒人精灵/按键中控群控教程(手机、主板机、模拟器通用)
  • CFD总压边界条件的理解与开发处理
  • DM8数据库Docker镜像部署最佳实践
  • 自学鸿蒙测试day01-插件安装推荐
  • Vue 3 响应式原理详细解读【一】—— Proxy 如何突破 defineProperty 的局限
  • 计算机发展史:晶体管时代的技术飞跃
  • Boost库智能指针boost::shared_ptr详解和常用场景使用错误示例以及解决方法
  • 软件测试 —— A / 入门
  • 数据结构 之 【排序】(直接插入排序、希尔排序)
  • 基于 Nginx 搭建 OpenLab 多场景 Web 网站:从基础配置到 HTTPS 加密全流程
  • Nginx IP授权页面实现步骤
  • Grok网站的后端语言是php和Python2.7
  • Python 变量赋值与切片语法(in-place 修改 vs 重新赋值)
  • 《画布角色的双重灵魂:解析Canvas小游戏中动画与碰撞的共生逻辑》
  • 状压DP学习笔记[浅谈]