【问题标题】:How can I view the contents of an ElasticSearch index?如何查看 ElasticSearch 索引的内容?
【发布时间】:2013-01-12 00:27:17
【问题描述】:

我配置了一个自定义分析器并将一些文档放入索引中。现在我想调试我的设置,以便查看哪些 n-gram 实际进入了索引。

当我之前使用 Solr 时,有可能看到哪些字符串作为键保存在索引中以及它们的频率。

【问题讨论】:

标签: elasticsearch


【解决方案1】:

您可以使用以下 CURL 查看任何现有索引。请在运行前将 index-name 替换为您的实际名称,它将按原样运行。

查看索引内容

curl -H 'Content-Type: application/json' -X GET https://localhost:9200/index_name?pretty

输出将包括一个索引(参见输出中的设置)及其映射,它看起来像下面的输出 -

{
  "index_name": {
    "aliases": {},
    "mappings": {
      "collection_name": {
        "properties": {
          "test_field": {
            "type": "text",
            "fields": {
              "keyword": {
                "type": "keyword",
                "ignore_above": 256
              }
            }
          }
       }
    },
    "settings": {
      "index": {
        "creation_date": "1527377274366",
        "number_of_shards": "5",
        "number_of_replicas": "1",
        "uuid": "6QfKqbbVQ0Gbsqkq7WZJ2g",
        "version": {
          "created": "6020299"
        },
        "provided_name": "index_name"
      }
    }
  }
}

查看该索引下的所有数据

curl -H 'Content-Type: application/json' -X GET https://localhost:9200/index_name/_search?pretty

【讨论】:

  • 你可以使用 head 插件来查看所有这些而不使用 curl
  • 您可以使用 Kibana 或 curl。取决于用例
【解决方案2】:

如果您还没有将太多数据索引到索引中,您可以在要调试的字段上使用 term facet 查询来查看标记及其频率:

curl -XDELETE 'http://localhost:9200/test-idx'
echo
curl -XPUT 'http://localhost:9200/test-idx' -d '
{
    "settings": {
        "index.number_of_shards" : 1,
        "index.number_of_replicas": 0
    },
    "mappings": {            
        "doc": {
            "properties": {
                "message": {"type": "string", "analyzer": "snowball"}
            }
        }
    }

}'
echo
curl -XPUT 'http://localhost:9200/test-idx/doc/1' -d '
{
  "message": "How is this going to be indexed?"
}
'
echo
curl -XPOST 'http://localhost:9200/test-idx/_refresh'
echo
curl -XGET 'http://localhost:9200/test-idx/doc/_search?pretty=true&search_type=count' -d '{
    "query": {
        "match": {
            "_id": "1"
        }
    },
    "facets": {
        "tokens": {
            "terms": {
                "field": "message"
            }
        }
    }
}
'
echo

【讨论】:

  • 这是创建和查看内容,不是查看索引。
  • 这似乎不再适用于 Elastic 2.4 及更高版本。
【解决方案3】:

我可以推荐Elasticvue,它是现代、免费和开源的。它允许通过浏览器插件非常容易地访问您的 ES 实例(支持 Firefox、Chrome、Edge)。但也有更进一步的方法。

只要确保在 elasticsearch.yml 中设置 cors values 就可以了。

【讨论】:

    【解决方案4】:

    您甚至可以添加术语(索引术语)的大小。看看Elastic Search: how to see the indexed data

    【讨论】:

      猜你喜欢
      • 2021-04-01
      • 2011-03-28
      • 1970-01-01
      • 2018-05-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-04-08
      相关资源
      最近更新 更多