Elastic Search

Elasticsearch Reindex in Place

Elasticsearch Reindex in Place
A indexação do Elasticsearch é um recurso importante que permite que o mecanismo funcione de forma rápida e precisa.

No entanto, como você sabe, uma vez que os dados são mapeados em um índice, eles não podem ser modificados. Para fazer isso, você precisará reindexar os dados com as modificações necessárias. Este processo pode levar a tempo de inatividade, o que não é uma prática muito boa, especialmente para um serviço que já está em circulação.

Para contornar isso, podemos usar aliases de índice, que nos permitem alternar entre os índices perfeitamente.

Como criar um índice?

A primeira etapa é garantir que você tenha um índice existente que deseja atualizar os dados.

Para este tutorial, teremos um índice antigo e um novo que funcionarão como seus nomes.

PUT / old_index /

"definições":
"numero_de_shards": 1
,
"apelido":
"use_me":
,
“Mapeamentos”:
"propriedades":
"nome":
"tipo": "texto"
,
"eu ia":
"tipo": "inteiro"
,
"pago":
"tipo": "booleano"



Para usuários cURL, use o comando appended:

curl -XPUT "http: // localhost: 9200 / old_index /" -H 'Content-Type: application / json' -d '"settings": "number_of_shards": 1, "aliases": "use_me" : , "Mappings": "propriedades": "nome": "tipo": "texto", "id": "tipo": "inteiro", "pago": "tipo ": "boleano" '

Em seguida, crie um novo índice que vamos usar. Copie todas as configurações e mapeamentos do índice antigo como:

PUT / new_index

"definições":
"numero_de_shards": 1
,
"apelido":
"use_me":
,
“Mapeamentos”:
"propriedades":
"nome":
"tipo": "texto"
,
"eu ia":
"tipo": "inteiro"
,
"pago":
"tipo": "objeto"



Este é o comando cURL:

curl -XPUT "http: // localhost: 9200 / new_index" -H 'Content-Type: application / json' -d '"settings": "number_of_shards": 1, "aliases": "use_me": , "Mappings": "propriedades": "nome": "tipo": "texto", "id": "tipo": "inteiro", "pago": "tipo" : "objeto" '

Tendo a configuração e os mapeamentos no novo índice, use a API reindex para copiar os dados do índice antigo para o novo:

POST _reindex

"fonte":
"índice": "índice_antigo"
,
"dest":
"index": "new_index"

Este é o comando cURL:

curl -XPOST "http: / localhost: 9200 / _reindex" -H 'Content-Type: application / json' -d '"source": "index": "old_index", "dest": "index" : "new_index" '

Agora, copie o alias do índice antigo para o novo usando a API _alias como:

POST / _aliases

"ações" : [
"add": "index": "new_index", "alias": "use_me"
]

Este é o comando cURL:

curl -XPOST "http: // localhost: 9200 / _aliases" -H 'Content-Type: application / json' -d '"actions": ["add": "index": "new_index", "alias ":" use_me "] '

Depois de concluído, você pode remover o índice antigo e os aplicativos usarão o novo índice (devido ao alias) sem tempo de inatividade.

Conclusão

Depois de dominar os conceitos discutidos neste tutorial, você estará em posição de reindexar dados de um índice antigo para um novo no local.

Como usar o Xdotool para estimular cliques do mouse e pressionamentos de tecla no Linux
Xdotool é uma ferramenta de linha de comando gratuita e de código aberto para simular cliques do mouse e pressionamentos de tecla. Este artigo irá cob...
Os 5 principais produtos ergonômicos de mouse de computador para Linux
O uso prolongado do computador causa dor no pulso ou nos dedos? Você está sofrendo de rigidez nas articulações e constantemente precisa apertar as mão...
Como alterar as configurações do mouse e touchpad usando Xinput no Linux
A maioria das distribuições Linux vem com a biblioteca “libinput” por padrão para lidar com eventos de entrada em um sistema. Ele pode processar event...