如何仅用Kibana查询未存过文档和存有文档的索引模式清单?
Kibana 批量区分有/无文档索引模式的实现方法
你之前使用的GET /_cat/indices只要追加参数即可满足需求,无需逐个查询索引,具体实现方法如下:
方案1:基于_cat/indices快速生成两类清单
直接使用带筛选参数的_cat/indices请求,单次查询即可返回全量结果:
同时返回所有索引的名称与对应文档数
GET /_cat/indices?v&h=index,docs.count&s=docs.count:desc
参数说明:
v开启表头显示,方便识别字段含义h=index,docs.count仅返回索引名、文档数两个核心字段,减少冗余信息s=docs.count:desc按文档数倒序排列,有文档的索引会排在列表前半段,0文档索引排在后半段,可直接拆分两类清单
单独导出无文档索引清单
GET /_cat/indices?v&h=index,docs.count&q=docs.count:0
单独导出有文档索引清单
GET /_cat/indices?v&h=index,docs.count&q=docs.count:>0
如果需要导出为CSV格式整理,直接在请求末尾加&format=csv即可。
方案2:针对指定前缀索引的批量统计
如果你只需要统计index-pattern前缀的索引,可使用_stats接口批量获取所有匹配索引的文档数,仅需单次请求:
GET index-pattern*/_stats/docs?filter_path=indices.*.total.docs.count
返回结果为键值对结构,键为索引名,值为对应文档数,可直接筛选出文档数为0和大于0的两类索引。
内容的提问来源于stack exchange,提问作者Sameera De Silva
相关产品推荐
相关产品推荐

