【问题标题】:Get all index and types' names from cluster in ElasticSearch从 ElasticSearch 中的集群中获取所有索引和类型的名称
【发布时间】:2015-06-27 09:29:50
【问题描述】:

我有我的集群,我想知道其中的所有索引和类型的名称。我使用 Sense。

【问题讨论】:

    标签: elasticsearch


    【解决方案1】:
    curl -XGET 'http://localhost:9200/_cat/indices?v'
    

    会给你所有的索引。

    curl -XGET 'http://localhost:9200/_mapping?pretty=true'
    

    将为您提供这些索引中的文档类型及其映射。

    【讨论】:

    • 这行得通。虽然有一个只列出类型的查询会很好,但是当我在查询中添加“?pretty”时,它给了我所有类型的所有字段映射的非常好的细分(这解决了我遇到的下一个问题)。 -- 谢谢。
    • /_cat/indices?v 给我这样的错误 -> {"error":"NullPointerException[null]","status":500}
    • 不要忘记您可以添加?pretty=true 以获得缩进可读的JSON
    • 在这种情况下,一个咨询只显示数据的类型,我怎样才能取消这个,因为我可以看到数据本身?
    【解决方案2】:

    yvespeirsman 的答案是正确的,但如果您只想查看索引的类型,可以使用 jq 来获得更简洁的答案。

    curl -s -XGET 'http://localhost:9200/_mapping' | jq 'to_entries | .[] | {(.key): .value.mappings | keys}'
    

    【讨论】:

    • 谢谢。是的,我可以看到解析出类型是有意义的。可惜 ES 没有提供像 _types 这样的简单命令。
    • @InformationTechnology - 在这种情况下尝试聚合。
    • 包:jq 描述:轻量级和灵活的命令行 JSON 处理器 jq 就像用于 JSON 数据的 sed - 您可以使用它来切片、过滤、映射和转换结构化数据,与 sed 一样容易, awk、grep 和朋友让你玩文字。 .它是用可移植的 C 语言编写的,并且具有最小的运行时依赖性。 . jq 可以轻松地将您拥有的数据格式转换为您想要的格式,并且执行此操作的程序通常比您预期的更短更简单。
    【解决方案3】:

    某些映射太大而无法有效地使用_mapping 解析出类型。请考虑使用aggregation。可能会快得多。对于索引:

    curl -XGET "http://localhost:9200/_search" -d'
    {
      "aggs": {
        "indicesAgg": {
          "terms": {
            "field": "_index",
            "size": 200
          }
        }
      },
      "size": 0
    }'
    

    对于特定索引的类型(或获取所有索引中的所有类型,只需在 url 中排除索引名称 {myIndex}):

    curl -XGET "http://localhost:9200/myIndex/_search" -d'
    {
      "aggs": {
        "typesAgg": {
          "terms": {
            "field": "_type",
            "size": 200
          }
        }
      },
      "size": 0
    }'
    

    我相信您也可以编写一个 agg 来返回两者。

    【讨论】:

      【解决方案4】:

      获取索引内的所有映射:

          GET /{index_name}/_search?size=50
          {
              "query": {
                  "match_all": {}
              }
          }
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-04-04
        • 2018-07-28
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多