È possibile creare nuovi indici, con nuovi mapping. Ho usato questo per tradurre mappature logstash da un tipo all'altro. Ho usato this reindex plugin con molto successo. Rende lo streaming di un indice in un altro molto più semplice e richiede essenzialmente solo 2 richieste http.
Qualcosa di simile a questo:
$ curl -XPOST http://elnode:9200/<New Index Name> -d @<new mapping>.json
$ curl -XPUT http://elnode:9200/<New Index Name>/logs/_reindex\?searchIndex=<Old Index Name>\&searchType=logs
Ora avete un nuovo indice di nuova mappatura con i dati del vecchio indice. È quindi possibile eliminare il vecchio e creare un alias con il nome dell'indice precedente che punta al nuovo.
Un po 'di lavoro, ma mi serviva per mantenere i vecchi dati del logstash in un nuovo formato.
No, non sono a conoscenza di uno strumento che ti consenta di farlo. ES Head ti consente di visualizzare la rappresentazione JSON del mapping (menu "Informazioni"> "Metadati" sull'indice). Ho mappatura visiva e modifica sulla tabella di marcia per Inquisitor (https://github.com/polyfractal/elasticsearch-inquisitor), ma non è ancora finita. – Zach
fantastico! Grazie!!! Dove lo pubblicheresti quando avrai finito? – eran
Probabilmente lo annuncerò sulla mailing list ES quando la funzione è pronta. Se ricordo, aggiungerò un commento anche a questo post. – Zach