Elastic Search

Por que os tipos de mapeamento ES foram removidos no ES v6.0?

Por que os tipos de mapeamento ES foram removidos no ES v6.0?

O que são tipos de mapeamento?

No Elasticsearch, cada documento pertence a um Índice e a um Tipo. Um índice pode ser considerado um banco de dados, enquanto um tipo pode ser visto como uma tabela quando comparado a um banco de dados relacional. Um tipo de mapeamento era uma partição lógica de um objeto com outros objetos que pertenciam a outros tipos de mapeamento no mesmo índice.

Cada tipo de mapeamento tem seus próprios campos. Por exemplo, um tipo de do utilizador pode ter os seguintes campos:


"id": 123,
"nome": "Shubham",
"site": 1

Outro tipo de mapeamento no mesmo índice local na rede Internet pode ter os seguintes campos que são completamente diferentes do do utilizador modelo:


"id": 1,
"title": "LinuxHint",
"link": "https: // linuxhint.com / "

Ao pesquisar um documento em um índice, a pesquisa poderia ter sido limitada a um único documento, especificando um único campo como:

GET idx_name / user, website / _search

"inquerir":
"partida":
"id": 1


O _modelo campo dos documentos foi combinado com o seu _eu ia para gerar um _uid campo para documentos com o mesmo _eu ia poderia existir em um único índice.

Leia o Tutorial do Elasticsearch para iniciantes para uma compreensão mais profunda da Arquitetura do Elasticsearch e comece a usá-lo com Instalar ElasticSearch no Ubuntu.

Por que os tipos de mapeamento estão sendo removidos?

Assim como o que dissemos acima ao explicar como Índice e Tipos eram semelhantes a um Banco de Dados e a uma Tabela em um Banco de Dados Relacional, a equipe do Elasticsearch pensava o mesmo, mas este não era o caso, pois Lucene Engine não segue a mesma analogia. Isso ocorre pelos seguintes motivos:

Alternativas para tipos de mapeamento

Embora a decisão tenha sido tomada, ainda precisamos separar diferentes tipos de dados. Agora, a primeira alternativa é documentos separados em seu próprio índice que tem duas vantagens:

Outra alternativa para separar os dados é manter um padrão _modelo campo em cada documento que inserimos, como:

PUT nome_bd / doc / 123

"tipo": "usuário",
"id": 123,
"nome": "Shubham",
"site": 1

PUT nome_bd / doc / site

"tipo": "site",
"id": 1,
"title": "LinuxHint",
"link": "https: // linuxhint.com / "

Este é um excelente uso se você está procurando uma solução personalizada completa.

Programado para remoção de tipos de mapeamento

Como remover os tipos de mapeamento é uma grande mudança, a equipe ES está fazendo o processo lentamente. Aqui está um cronograma para o lançamento extraído do elástico.co:

Conclusão

Nesta lição, vimos por que os tipos de mapeamento Elasticsearch foram removidos e não serão totalmente compatíveis nas próximas versões.

Como usar o AutoKey para automatizar jogos Linux
AutoKey é um utilitário de automação de desktop para Linux e X11, programado em Python 3, GTK e Qt. Usando sua funcionalidade de script e MACRO, você ...
Como mostrar o contador de FPS em jogos Linux
Os jogos Linux tiveram um grande impulso quando a Valve anunciou o suporte Linux para o cliente Steam e seus jogos em 2012. Desde então, muitos jogos ...
Como baixar e jogar Sid Meier's Civilization VI no Linux
Introdução ao jogo Civilization 6 é uma versão moderna do conceito clássico introduzido na série de jogos Age of Empires. A ideia era bastante simples...