ElasticSearch ReindEx in atto

ElasticSearch ReindEx in atto
L'indicizzazione di ElasticSearch è una caratteristica importante che consente al motore di funzionare in modo rapido e accurato.

Tuttavia, come sai, una volta che i dati vengono mappati in un indice, non sono modificabili. Per fare ciò, dovrai reindilare i dati con le modifiche richieste. Questo processo può portare a tempi di inattività, il che non è un'ottima pratica, soprattutto per un servizio che è già in circolazione.

Per aggirare questo, possiamo usare gli alias di indice, che ci consentono di passare da un salva.

Come creare un indice?

Il primo passo è assicurarsi di avere un indice esistente che si desidera aggiornare i dati.

Per questo tutorial, avremo un indice vecchio e nuovo che funzionerà come i loro nomi.

Put /old_index /

"impostazioni":
"numero_of_shards": 1
,
"Aliases":
"use_me":
,
“Mappings”:
"proprietà":
"nome":
"tipo": "testo"
,
"id":
"tipo": "intero"
,
"pagato":
"Tipo": "Boolean"



Per gli utenti Curl, utilizzare il comando aggiunto:

Curl -xput "http: // localhost: 9200/old_index/" -h 'content -type: applicazione/json' -d '"impostazioni": "numero_of_shards": 1, "alias": "use_me" : , "Mappings": "Properties": "nome": "type": "text", "id": "type": "integer", "pagato": "type ":" booleano " '

Successivamente, crea un nuovo indice che useremo. Copia tutte le impostazioni e le mappature dal vecchio indice come:

Put /new_index

"impostazioni":
"numero_of_shards": 1
,
"Aliases":
"use_me":
,
“Mappings”:
"proprietà":
"nome":
"tipo": "testo"
,
"id":
"tipo": "intero"
,
"pagato":
"tipo": "oggetto"



Ecco il comando Curl:

Curl -xput "http: // localhost: 9200/new_index" -h 'content -type: applicazione/json' -d '"impostazioni": "numero_of_shards": 1, "alias": "use_me": , "Mappings": "Properties": "nome": "type": "text", "id": "type": "integer", "pagato": "type" : "Oggetto" '

Avere l'impostazione e le mappature nel nuovo indice, utilizzare l'API ReinDex per copiare i dati dal vecchio indice a quello nuovo:

Post _Reindex

"fonte":
"INDICE": "Old_Index"
,
"dest":
"INDICE": "New_Index"

Ecco il comando Curl:

Curl -xpost "http:/localhost: 9200/_reindex" -H 'Content -type: Application/Json' -d '"Source": "indice": "old_index", "dest": "indice" : "new_index" '

Ora, copia l'alias del vecchio indice su quello nuovo usando l'API _ALIAS come:

Post /_aliases

"Azioni" : [
"Aggiungi": "indice": "new_index", "alias": "use_me"
"

Ecco il comando Curl:

Curl -xpost "http: // localhost: 9200/_aliases" -H 'Content -Type: Application/Json' -d '"Azioni": ["Aggiungi": "indice": "new_index", "alias ":" use_me "] '

Una volta completato, ora è possibile rimuovere il vecchio indice e le applicazioni utilizzeranno il nuovo indice (a causa dell'alias) senza tempi di inattività.

Conclusione

Una volta padroneggiati i concetti discussi in questo tutorial, sarai in grado di reindicare i dati da un vecchio indice a uno nuovo in atto.