我想列出ElasticSearch服务器上的所有索引。我试了一下:

curl -XGET localhost:9200/

但它给了我这个:

{
  "ok" : true,
  "status" : 200,
  "name" : "El Aguila",
  "version" : {
    "number" : "0.19.3",
    "snapshot_build" : false
  },
  "tagline" : "You Know, for Search"
}

我想要一个所有索引的列表..


当前回答

通过Curl访问安全弹性搜索(更新2020)

如果弹性搜索是安全的,您可以使用此命令列出索引

curl http://username:password@localhost:9200/_aliases?pretty=true

其他回答

您可以查询localhost:9200/_status,这将为您提供关于每个索引和信息的列表。响应看起来像这样:

{
  "ok" : true,
  "_shards" : { ... },
  "indices" : {
    "my_index" : { ... },
    "another_index" : { ... }
  }
}

您还可以使用获取特定的索引

curl -X GET "localhost:9200/<INDEX_NAME>"
e.g.   curl -X GET "localhost:9200/twitter"
You may get output like:
{
  "twitter": {
     "aliases": { 

     },
     "mappings": { 

     },
     "settings": {
     "index": {
        "creation_date": "1540797250479",
        "number_of_shards": "3",
        "number_of_replicas": "2",
        "uuid": "CHYecky8Q-ijsoJbpXP95w",
        "version": {
            "created": "6040299"
        },
       "provided_name": "twitter"
      }
    }
  }
}

更多信息

https://www.elastic.co/guide/en/elasticsearch/reference/current/indices-get-index.html

通过Curl访问安全弹性搜索(更新2020)

如果弹性搜索是安全的,您可以使用此命令列出索引

curl http://username:password@localhost:9200/_aliases?pretty=true

我会给你一个可以在kibana上运行的查询。

GET /_cat/indices?v

而CURL版本将是

CURL -XGET http://localhost:9200/_cat/indices?v

列出索引+和列表一起显示其状态的最好方法之一是简单地执行下面的查询。

注意:最好使用Sense来获得正确的输出。

curl -XGET 'http://localhost:9200/_cat/shards'

示例输出如下所示。主要的优点是,它基本上显示了索引名称和它保存到的分片,索引大小和分片ip等

index1     0 p STARTED     173650  457.1mb 192.168.0.1 ip-192.168.0.1 
index1     0 r UNASSIGNED                                                 
index2     1 p STARTED     173435  456.6mb 192.168.0.1 ip-192.168.0.1 
index2     1 r UNASSIGNED                                                 
...
...
...