用途:该技能让 AI 针对 Elasticsearch 生成并执行 ES|QL(管道式查询语言)查询,适用于查询 Elasticsearch 数据、分析日志、聚合指标和探索数据等场景。ES|QL 不同于 Query DSL(JSON)、SQL 和 EQL,使用竖线(|)串联命令,如 FROM index | WHERE condition | STATS ... BY field | SORT field | LIMIT n。
主要能力:支持索引列举与字段映射查询、执行原始 ES|QL、以 TSV 输出结果;覆盖过滤、计算字段(EVAL)、聚合(STATS)、排序与分页、全文检索(MATCH/QSTR/KQL)、文本提取(DISSECT/GROK)、日志分类(CATEGORIZE)、变更点检测(CHANGE_POINT)、时间序列查询(TS/TBUCKET/RATE)以及 LOOKUP JOIN 数据富化。
使用方式:先运行 node scripts/esql.js test 验证连接;再用 node scripts/esql.js indices "logs-" 和 node scripts/esql.js schema "index-name" 做模式发现;最后执行 node scripts/esql.js raw "FROM logs- | STATS count = COUNT(*) BY host.name | LIMIT 10",可加 --tsv 或 -t 输出制表符分隔,--no-header 省略表头。生成查询前应先做模式发现,不猜测索引与字段名。
限制:ES|QL 要求被查询索引启用 _source,禁用 _source 的索引会导致查询失败;版本兼容性需注意,8.11 为技术预览、8.14 起 GA,LOOKUP JOIN 需 8.18+、MATCH 需 8.17+、INLINE STATS 与计数器 RATE() 需 9.2+,旧版本无对应回退。集群类型可由 GET / 的 build_flavor 判断:serverless 视为所有 GA 与预览特性可用;default 则按 version.number 判断;快照版本去掉 -SNAPSHOT 后缀取主次版本。环境与连接配置、错误处理及完整语法参考资料在原文中有指引。
适用场景:日志检索与统计、指标按时间聚合、异常与趋势检测、文本模式归类及多源数据关联查询。其他细节(如具体安装步骤或价格)资料未提供。