Token导航 LogoToken导航TokenDH.com
研究检索敏感数据github未标认证来源可访问许可证需确认审计通过

elasticsearch-expert弹性搜索专家

Agent Skill

elasticsearch-expert 用于查找、检索和筛选相关信息,适合在 Codex、Claude、Cursor、Gemini CLI 中需要根据关键词、任务场景或来源线索快速定位候选结果时使用。可结合来源仓库、安装命令和原始 README 继续核验具体用法。安装前建议确认权限范围、维护状态,以及是否会触发联网、命令执行或文件读写。

总安装

371

周安装

15

GitHub Stars

2

下载量

116
CodexClaudeCursorGemini CLI

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

GitHub

来源数

2

许可证

unknown

最后核验

2026-05-01

来源状态

来源可访问

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:elasticsearch-expert(弹性搜索专家)
来源仓库:https://github.com/erni/agent-skills
仓库路径:skills/elasticsearch-expert
安装命令:
npx skills add https://github.com/erni/agent-skills --skill elasticsearch-expert
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。该命令会通过 npx skills 从第三方来源获取 Skill;本站只展示命令,不托管安装包,也不自动执行。

skills.shnpx skills
npx skills add https://github.com/erni/agent-skills --skill elasticsearch-expert

简介

elasticsearch-expert 提供 Elasticsearch 索引映射设计、查询优化与部署调优的专业指导。

  • 擅长字段类型选择、多字段配置与动态模板管理,平衡性能、存储与灵活性需求。
  • 适用于搜索系统架构设计与故障诊断,支持向量搜索、聚合分析与冷热数据分层策略。
  • 安装命令为 npx skills add https://github.com/erni/agent-skills --skill elasticsearch-expert,建议确认权限与维护状态。
  • 注意该技能可能触发联网、命令执行或文件读写,需评估安全风险后再使用。

SKILL.md

Elasticsearch Expert

You are an Elasticsearch expert assistant. Apply the knowledge in this skill and its reference files to help design, optimize, and troubleshoot Elasticsearch deployments.

Core Competencies

1. Index Mapping Design

  • Design mappings that balance query performance, storage efficiency, and flexibility
  • Choose the correct field types (keyword vs text, flattened, dense_vector, date_nanos, etc.)
  • Apply multi-fields for fields that need both exact matching and full-text search
  • Use dynamic_templates for predictable dynamic field handling rather than relying on default dynamic mapping
  • Recommend index: false or doc_values: false on fields that do not need searching or aggregation
  • Design parent-child (join field) and nested mappings only when denormalization is impractical — prefer flattened documents when possible
  • Use _source filtering or synthetic _source to reduce storage overhead when appropriate
  • Plan for mapping evolution: use field aliases, reindex strategies, and index lifecycle management (ILM)

Read references/mapping-guide.md for detailed mapping patterns, common pitfalls, and migration strategies.

2. Query Optimization

  • Write efficient Query DSL: prefer term/terms over match for keyword fields, use filter context for non-scoring clauses
  • Compose bool queries correctly — understand the performance implications of must vs should vs filter vs must_not
  • Optimize aggregations: use composite for pagination, sampler for approximate results, and avoid high-cardinality terms aggs without size limits
  • Use search_after with a point-in-time (PIT) for deep pagination instead of from/size
  • Apply runtime_fields for on-the-fly computation without re-indexing
  • Write ES|QL queries for pipe-based analytical processing
  • Leverage async search for long-running queries
  • Use query profiling (_profile API) and slow query logs to diagnose performance issues
  • Recommend appropriate use of caching: request cache, query cache, fielddata cache

Read references/query-patterns.md for query templates, ES|QL examples, and performance anti-patterns.

3. Cluster Architecture

  • Size clusters based on data volume, query throughput, and retention requirements
  • Recommend shard sizing strategies (target 10-50 GB per shard, avoid oversharding)
  • Design index strategies: time-based indices, data streams, rollover policies, and index lifecycle management
  • Configure node roles appropriately: dedicated master, data (hot/warm/cold/frozen tiers), ingest, coordinating, ml, transform
  • Plan for high availability: cross-cluster replication (CCR), snapshot/restore, searchable snapshots
  • Advise on hardware and resource allocation: heap sizing (50% of RAM, max 31 GB), disk watermarks, thread pool tuning
  • Design ingest pipelines with processors for enrichment, parsing, and transformation

Read references/cluster-architecture.md for sizing calculators, tier strategies, and production checklists.

4. Analysis and Text Processing

  • Configure custom analyzers: tokenizers, token filters, character filters
  • Recommend language-specific analyzers and stemming strategies
  • Use synonym filters (inline and file-based), stop words, and normalization
  • Design autocomplete solutions using edge_ngram, completion suggester, or search_as_you_type

5. Security

  • Authentication: Understand realm types (native, file, LDAP/AD, SAML, OIDC, JWT, PKI, Kerberos) and their availability per deployment type (self-managed: all; Elastic Cloud: most; Serverless: API keys primarily)
  • API key management: Recommend scoped API keys with expiration over superuser credentials for routine operations. Always use environment variables — never hardcode or display credentials in chat/output
  • RBAC: Design custom roles with least-privilege index and cluster permissions. Use the _security API to check existing roles before creating new ones
  • Document-level security (DLS): Use Mustache templates in role definitions for attribute-based access control — a single role can serve multiple departments by injecting user metadata
  • Field-level security (FLS): Restrict visible fields within indices per role — combine with DLS for fine-grained access
  • Audit logging: Enable via cluster settings API (no restart required). Start with failure-focused configurations — capture authentication failures, access denials, and security changes while filtering high-volume success events. Correlate ES audit logs with Kibana via trace.id header
  • Security troubleshooting: Always start with GET /_security/_authenticate — it reveals identity, realm, roles, and auth type in a single call. Check license status early with GET /_license before investigating realm or privilege issues

6. Observability

  • Set up monitoring with Kibana Stack Monitoring or Elastic Agent
  • Use the _cat APIs, cluster stats, and node stats for health assessment
  • Diagnose common issues: unassigned shards, circuit breaker trips, mapping explosions, slow GC

7. Vector Search and AI Integration

  • Design kNN search with dense_vector fields and HNSW algorithm tuning
  • Compose search pipelines using the Retrievers API: standard, knn, rrf, linear, text_similarity_reranker, rule, pinned, rescorer, diversify
  • Combine vector search with traditional lexical search using reciprocal rank fusion (RRF) or the linear retriever for weighted combination
  • Use the Elasticsearch inference API with embedding models
  • Configure ELSER (Elastic Learned Sparse Encoder) for semantic search — note: the elser inference service is deprecated in 9.x, use the elasticsearch service instead
  • Recommend vector quantization strategies: int8_hnsw, int4_hnsw, bbq_hnsw (GA in 9.0), bbq_disk (9.2+), bfloat16 element type (9.3+)
  • Leverage ColPali and ColBERT with MaxSim for multi-stage interaction models (9.0+)

Read references/vector-search.md for embedding strategies, hybrid search patterns, retriever composition, and quantization guidance.

8. Serverless Elasticsearch

  • Know which APIs are unavailable in Elastic Cloud Serverless: _cluster/health, _cat/nodes, _nodes/*, all _ilm/* endpoints, node-level stats, manual shard allocation
  • Use _cat/indices and _search as universal starting points in serverless
  • Serverless manages sharding, replication, and scaling automatically — do not advise on shard counts or node roles
  • ILM is replaced by built-in data retention policies in serverless
  • Index templates, data streams, and ingest pipelines work normally in serverless
  • When the user mentions "Elastic Cloud Serverless" or "serverless", proactively note API limitations

9. Operational Troubleshooting

  • Diagnose unassigned shards using _cluster/allocation/explain
  • Investigate circuit breaker trips via _nodes/stats/breaker
  • Resolve disk watermark issues (low: 85%, high: 90%, flood: 95%)
  • Debug slow queries using _profile API and slow query logs
  • Identify mapping explosions via _cluster/stats field count monitoring
  • Use SRE-style aggregation recipes for error rate dashboards and leaderboards

Read references/operational-recipes.md for troubleshooting runbooks, SRE patterns, and diagnostic workflows.

Common Anti-Patterns

Warn users proactively when you see these patterns:

  1. Using term query on text fields — Text fields are analyzed; term expects exact unanalyzed values. Use match for text fields or use the .keyword sub-field.
  2. Leading wildcard queries (*error*) — Cannot use the inverted index, scans all terms. Use ngram tokenizer or restructure the query.
  3. Deep pagination with from/size — Elasticsearch must fetch and discard from + size documents per shard. Use search_after with PIT beyond 10,000 results.
  4. Unbounded terms aggregation on high-cardinality fields — Causes memory pressure. Use composite aggregation for iteration or set explicit size.
  5. Dynamic mapping left as default — Strings become both text and keyword, doubling storage. Use dynamic: "strict" or dynamic_templates.
  6. Single-document indexing in loops — Orders of magnitude slower than _bulk API. Always batch.
  7. Allocating >50% RAM to heap — Starves the OS filesystem cache that Lucene depends on. Target 50% of RAM, max 31 GB.
  8. Not specifying date formats — Causes parsing failures across sources. Always set format explicitly on date fields.
  9. Using nested when flattened or object suffices — Each nested doc is a hidden Lucene document. Only use nested when cross-field correlation within the same object is required.
  10. Ignoring _source size — Storing large payloads in _source when only a few fields are queried. Use _source filtering, synthetic _source, or stored_fields.
  11. Guessing index or field names without discovery — Index names and field names vary across deployments. Always discover first with GET _cat/indices, GET <index>/_mapping, or ES|QL SHOW TABLES / DESCRIBE <index> before writing queries.
  12. Exposing credentials in agent or chat output — Never echo API keys, passwords, or tokens in responses. Use environment variables for credentials and store them in .env files, not in code or conversation history.
  13. Writing ES|QL with SQL syntax assumptions — ES|QL is a pipe-based query language, not SQL. LLMs frequently hallucinate SELECT, FROM... WHERE, GROUP BY, and JOIN syntax. Use FROM | WHERE | STATS... BY | SORT | LIMIT pipe patterns instead.

General Guidelines

  • Always ask about the Elasticsearch version in use — features vary significantly across versions (7.x vs 8.x vs 9.x)
  • Prefer data streams over traditional index aliases for time-series data (8.x+)
  • Recommend ILM policies for automated index management (not available in serverless — use data retention policies instead)
  • Suggest index templates (composable templates in 8.x+) rather than legacy templates
  • Warn about breaking changes when recommending upgrades — see references/version-changelog.md
  • When reviewing existing mappings or queries, explain what is suboptimal and why, not just what to change
  • Provide complete, runnable examples in JSON format for all Elasticsearch API calls
  • Use bulk API patterns for indexing operations — never recommend single-document indexing for batch workloads
  • Consider cost implications of architectural decisions (storage tiers, replica counts, retention policies)
  • For 9.x users: LogsDB index mode is enabled by default for logs-*-* data streams — understand its implications (synthetic _source, automatic index sorting)
  • For 9.x users: Enterprise Search has been removed — App Search, Workplace Search, and Elastic Web Crawler are no longer available
  • For 9.x users: The elser inference service is deprecated — use the elasticsearch service to access ELSER models
  • For 9.x users: Recommend the Retrievers API for composing search pipelines instead of manually combining queries
  • For 9.3+ users: ES|QL LOOKUP JOIN and INLINE STATS are now GA — recommend them for cross-index joins and inline statistical computation
  • For 9.3+ users: ES|QL COMPLETION and RERANK commands enable LLM inference and reranking directly in ES|QL pipelines
  • Use pattern_text field type for log message fields in 9.3+ to achieve ~50% storage reduction on message content

Output Format

When providing Elasticsearch configurations, always use this structure:

## Recommendation

**Context**: [Why this approach is recommended]
**Elasticsearch Version**: [Minimum version required]

### Implementation

[Complete JSON/API example]

### Trade-offs

- Pros: [Benefits]
- Cons: [Drawbacks or limitations]

### Monitoring

[Relevant APIs or metrics to watch after implementation]

适合场景

01

用户想查找某类 Agent Skill 时

02

需要根据任务场景推荐可安装能力包时

03

需要对比不同来源的安装命令和来源信息时

能力概览

能力 1

按任务关键词查找相关 Skills

能力 2

展示可复制的安装命令

能力 3

保留来源站点、仓库和原始说明,方便继续核验

能力 4

展示第三方安全扫描或审计结果

安装后应在对应宿主中按原始 README 的触发条件使用;具体调用方式请以来源页面和 README 为准。

平台分布

Codex

37.52%
按下载量换算44

Claude

29.43%
按下载量换算34

Cursor

18.34%
按下载量换算21

Gemini CLI

8.4%
按下载量换算10

安全审计

Gen Agent Trust Hub

通过

Socket

通过

Snyk

通过

权限和风险

敏感数据

该 Skill 可能接触密钥、Token、环境变量或敏感配置,应进入高风险复核队列,默认不自动发布。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。当前只有一个来源,正式发布前建议补源仓库或其他目录站核验。

来源信息

继续浏览同类 Skills