Come si ottiene un elenco di tutti i campi presenti in un indice (ovvero i campi che si verificano nei documenti indicizzati, non solo nella mappatura)?Elenca tutti i campi in un indice elasticsearch?
risposta
Partendo 1.3 hai il campo meta _field_names.
{
"aggs": {
"Field names": {
"terms": {
"field": "_field_names",
"size": 10
}
}
}
}
Spiegazione:
Non credo che ci sia un modo per fare esattamente questo. Ma dal momento che tutto nell'indice viene automaticamente inserito nella mappatura, sappiamo che la mappatura contiene almeno tutti i campi dell'indice. Da lì, puoi eseguire il ciclo di ogni campo nel mapping ed eseguire un conteggio sul numero di risultati dell'indice che contiene quel campo. Se il conteggio è maggiore di 0, allora quel campo esiste; se il conteggio è 0, allora quel campo non fa parte dell'indice. Poiché sappiamo che ogni campo dell'indice sarà presente nella tua mappatura, questo dovrebbe coprire tutte le possibilità.
Alcune chiamate esempio API:
# Get the mapping
$ curl -XGET 'http://localhost:9200/index/type/_mapping?pretty'
# Count a field
$ curl -XGET 'http://localhost:9200/index/type/_count' -d '
{
"query" : {
"constant_score" : {
"filter" : {
"exists" : { "field" : "name_from_mapping" }
}
}
}
}'
Documentation:
Si prega di notare che con la mia risposta dovrete gettare del codice (o fare un lavoro manuale) per determinare effettivamente quali campi esistono nel vostro indice .. questo è più di una teoria/spiegazione/risorsa per iniziare – Sam
mi potrebbe prendere in considerazione la creazione di un plug-in "elasticsearch-index-fieldlist", simile a https://github.com/jprante/elasticsearch-index-termlist, se non c'è davvero nessun modo semplice per ottenere la lista dei campi presenti in un indice ...
Nella versione corrente (5.2), è possibile utilizzare l'API di mappatura per ottenere tutti i nomi dei campi:
GET index_name/_mapping?pretty
si rimanda al official document per ulteriori informazioni.
- 1. In loop su tutti i documenti in un indice elasticsearch
- 2. Campi indice con trattini in Elasticsearch
- 3. Ricerca NEST ElasticSearch Tipi multipli e tutti i campi
- 4. Elenca tutti i thread
- 5. Informix SQL - Elenca tutti i campi e le tabelle
- 6. Elenca tutti i sottopacchetti di un pacchetto
- 7. Elenca tutti i file ResourceBundle
- 8. elasticsearch confronto tra i campi
- 9. Elenca tutti i file nell'array con gulp.src()
- 10. elenca i campi di un oggetto di destrezza
- 11. Django: elenca tutti i rapporti inversi di un modello
- 12. Cercando più stringhe in tutti i campi di elasticsearch utilizzando Java API
- 13. Elenca tutti i file archiviati in un singolo commit cvs
- 14. Elenca tutti i file in un pacchetto homebrew
- 15. Indice lento di Elasticsearch
- 16. Git: elenca tutti i file tracciati
- 17. Elenca tutti i test trovati da Nosetest
- 18. git elenca tutti i comandi disponibili
- 19. Elenca tutti i computer nella directory attiva
- 20. Aggiornamento di un campo in tutti i record in elasticsearch
- 21. Come interrogare ed elencare tutti i tipi all'interno di un indice elasticsearch?
- 22. Elenca tutti i thread in esecuzione/in coda in ThreadPoolTaskExecutor
- 23. Query Elasticsearch su un indice specifico
- 24. Solr: recupera i nomi dei campi da un indice solr?
- 25. Elenca tutti i file che non iniziano con un numero
- 26. C'è un modo per contare tutti gli elementi di un indice in ElasticSearch o Tyre?
- 27. Cancella tutti i campi in ASP.net modulo
- 28. Effettua tutti i campi richiesti in Mongoose
- 29. elasticsearch: Come eliminare un indice utilizzando pitone
- 30. Sostituisci tutti i campi in MySQL
non funziona più con 5.x Vedi: https://github.com/elastic/elasticsearch/issues/22576 – naoko