Agent Skills
返回列表
Elasticsearch 搜索分析设计

Elasticsearch 搜索分析设计

开发编程 更新于 2026.08.29

将以下提示词粘贴到你的 AI 对话框中:

请根据 https://skillhub.cn/install/skillhub.md,安装 @user_3651d062/elasticsearch-design。

技能介绍

要解决什么问题

Elasticsearch 在生产里最容易踩坑的不是「会不会写 DSL」,而是索引与 Mapping 一旦上线就很难改:分片数不可变、字段类型选错要 reindex、动态映射把高基数字段灌爆集群。日志、商品搜索、向量检索、APM 各自对命名、滚动、ILM 和字段类型的要求也不同,单靠翻官方文档很难在一次对话里把版本差异和规范对齐。

技能如何工作

本技能在用户表达「设计索引 / 全文或向量搜索 / 日志分析建模 / ILM / 搜索优化」等意图时激活,按 Agent 设计路径推进:先做版本检查(对照 version-major 与对应大版本特性文档,提示废弃项),再落到索引命名、分片容量、Mapping 与分词器选型。

内置速查表覆盖常见决策点,例如:

  • 索引命名:小写连字符、按日滚动后缀、版本号与别名
  • 分片:单分片约 10–50GB、生产副本数、每 GB 堆上分片上限
  • 字段:text / keyword 双字段、dense_vector、时序 date 等
  • Mapping:dynamic: strict 或 runtime、减少 norms/index、用 runtime_mappings 替代脚本字段

需要细节时渐进加载 references/ 下的设计规范、场景操作指引、最佳实践与业务模板,而不是一次性塞满上下文。

适用边界与注意点

  • 内容以 Elastic 官方与社区实践为准,不替代你对业务 QPS、数据量、合规的评估。
  • 生产环境禁止完全动态 Mapping;时序类索引应配置 ILM 或 Data Stream。
  • 写入优先 _bulk;查询建议设置 timeout 与 track_total_hits 限制。
  • 除非纯指标场景,避免 _source.enabled: false,否则原始文档无法补救。

使用场景

  • 新业务上线前,要为商品或文档库设计首版索引:定命名规范、主分片大小、`text`+`keyword` 与中英文分词字段。
  • 接入 Nginx/应用日志或 APM 链路时,需按日期滚动索引、配置 ILM 热温冷删除,并关闭生产环境的完全动态 Mapping。
  • 要在现有搜索里加语义检索时,需选定 `dense_vector` 维度、是否开启向量索引,并核对与当前 ES 大版本匹配的 kNN 能力。
  • 搜索 P99 变慢或集群分片数逼近节点上限时,要复核单分片容量、副本数,并为查询设置 `timeout` 与 `track_total_hits`。

适合人员

  • 负责站内商品或内容检索的后端工程师,要把「可搜索 + 可聚合 + 可排序」字段拆成合规 Mapping 并写进评审文档。
  • 维护日志/指标/APM 入库链路的可观测性工程师,需要统一索引命名、ILM 策略与 `dynamic: strict` 的字段白名单。
  • 托管共享 Elasticsearch 集群的平台工程师,在版本升级前要对照废弃项,评估 Data Stream、向量搜索或 ES|QL 是否影响现有索引模板。
  • 承接内搜、工单或知识库检索的研发,遇到「如何设计 xxx 的搜索」时,需要按步骤产出索引模板与分词器选型说明。