关于 elasticsearch
此技能提供 Elasticsearch 索引设计、查询和集群运维指导,适用于搜索系统开发与管理。内容涵盖 Query DSL、REST API 文档操作及集群维护。
主要功能
- 01设计映射、分析器和索引设置
- 02编写 Query DSL 搜索与聚合
- 03通过 REST API 索引、更新和批量加载文档
- 04管理分片、副本和快照
- 05监控集群健康状况并调优
适用场景
- 01创建商品索引并执行搜索
- 02通过 REST API 批量加载或更新文档
- 03规划分片分配和快照备份
- 04衔接 Elasticsearch 与 Kibana 或 Logstash 工作流
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ partme-ai/ full-stack-skills --skill elasticsearch安装后在 Claude Code 中输入/elasticsearch确认已加载。
附带文件LICENSE.txt
详细介绍
何时使用此技能
当用户希望执行以下操作时,请使用此技能:
- 设计包含分析器和字段类型的索引映射
- 编写搜索查询(match、term、bool、multi_match、nested、聚合)
- 通过 REST API 索引、更新或批量加载文档
- 管理集群(分片、副本、快照、升级)
- 将 Elasticsearch 与 Kibana 或 Logstash(ELK 堆栈)集成
如何使用此技能
工作流
- 设计映射 - 定义字段类型、分析器和索引设置
- 索引文档 - 使用 PUT/POST 或 bulk API
- 编写查询 - 使用 Query DSL 和筛选器进行缓存
- 监控并调优 - 检查集群健康状况、慢日志和分片均衡情况
快速入门示例:创建索引并搜索
// Create index with mapping
PUT /products
{
"mappings": {
"properties": {
"name": { "type": "text", "analyzer": "standard" },
"description": { "type": "text" },
"price": { "type": "float" },
"category": { "type": "keyword" },
"created_at": { "type": "date" }
}
}
}
// Index a document
POST /products/_doc
{
"name": "Wireless Mouse",
"description": "Ergonomic wireless mouse with USB-C receiver",
"price": 29.99,
"category": "electronics",
"created_at": "2025-01-15"
}
// Search with bool query and aggregation
GET /products/_search
{
"query": {
"bool": {
"must": [{ "match": { "description": "wireless" } }],
"filter": [{ "range": { "price": { "lte": 50 } } }]
}
},
"aggs": {
"by_category": { "terms": { "field": "category" } }
}
}
最佳实践
- 定义显式映射 - 避免在生产环境中使用动态映射;设置
dynamic: strict以捕获错误 - 使用筛选器进行精确匹配 - 对于 keyword/range 条件,筛选器会被缓存,且比查询更快
- 使用 search_after 分页 - 避免使用深度
from/size分页;大结果集请使用search_after - 谨慎规划分片 - 每个分片以 20-40 GB 为目标;避免创建过多的小分片
- 定期创建快照 - 使用快照/恢复进行备份;测试恢复流程
关键词
elasticsearch、search、index、mapping、query DSL、aggregation、搜索引擎、全文检索、聚合、ELK、Kibana、bulk API、cluster
评论
支持 Markdown