web-dev-qa-db-fra.com

Comment puis-je afficher le contenu d'un index ElasticSearch?

J'ai configuré un analyseur personnalisé et mis certains documents dans l'index. Maintenant, je veux déboguer mes paramètres afin que je puisse voir quels n-grammes sont réellement entrés dans l'index.

Lorsque j'ai utilisé Solr auparavant, il y avait une possibilité de voir quelles chaînes étaient enregistrées dans l'index en tant que clés et également leur fréquence.

40
fqxp

Si vous n'avez pas encore indexé trop de données dans l'index, vous pouvez utiliser le terme requête de facette sur le champ que vous souhaitez déboguer pour voir les jetons et leurs fréquences:

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
11
imotov

Vous pouvez afficher n'importe quel index existant en utilisant le CURL ci-dessous. Veuillez remplacer le nom d'index par votre nom réel avant de l'exécuter et il s'exécutera tel quel.

Voir le contenu de l'index

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

Et la sortie comprendra un index (voir les paramètres dans la sortie) et ses mappages aussi et il ressemblera à la sortie ci-dessous -

{
  "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"
      }
    }
  }
}

Voir TOUTES les données sous cet index

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

Vous pouvez même ajouter la taille des termes (termes indexés). Jetez un oeil à Elastic Search: comment voir les données indexées

0
Venkata Naresh