【问题标题】:Elasticsearch curl query: List of indices having 0 documentsElasticsearch curl查询:具有0个文档的索引列表
【发布时间】:2016-01-28 13:53:55
【问题描述】:

我正在尝试获取包含 0 个文档的所有 Elasticsearch 索引的列表。

我的方法是查询_cat/indices

curl -GET 'http://localhost:9200/_cat/indices' -d '{
    "query": { "match": { "docs.count": "0" } }
}'

但它似乎不起作用,因为我看到列出了超过 0 个文档的索引。

Cat indices 文档可以在这里找到:https://www.elastic.co/guide/en/elasticsearch/reference/1.6/cat-indices.html

有什么建议吗?

谢谢。

【问题讨论】:

  • 你为什么不grep 来代替结果呢?
  • 事实上,我想做的是稍后从我的集群中删除这些索引(那些有 0 个文档的索引)。它们唯一的共同特征是它们匹配的文档数量。我可以在docs.countgrep 吗?

标签: curl elasticsearch indices documents


【解决方案1】:

我觉得 awk 和 cat API 会是更好的选择。您可以使用以下命令来获取您要查找的内容 -

curl -GET 'http://localhost:9200/_cat/indices' 2>/dev/null | awk ' ($6 == 0) {print $3}'

【讨论】:

  • 谢谢,这很好用!有没有办法用这种方法轻松删除返回的元素?
  • 我相信到目前为止,我们没有任何其他方法。
  • 我尝试以各种方式将-XDELETE 应用于您的命令,但无法使其正常工作:( 有什么想法吗?
  • 你用 DELETE 做了什么
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-04-12
  • 1970-01-01
  • 2019-07-29
  • 1970-01-01
  • 1970-01-01
  • 2021-10-24
相关资源
最近更新 更多