Claro! Aqui está a tradução da explicação e exemplos para Index e Mapping em Elasticsearch:
Index em Elasticsearch
Um Index in Elasticsearch é semelhante a um banco de dados em sistemas de gerenciamento de banco de dados(DBMS) tradicionais. Ele armazena uma coleção de documentos relacionados. Cada um Index normalmente corresponde a um tipo específico de dados em seu aplicativo. Por exemplo, em um aplicativo de e-commerce, você pode criar um Index para armazenar informações sobre produtos, outro Index para armazenar informações sobre usuários e pedidos.
Cada Index um Elasticsearch é dividido em fragmentos menores para distribuição de dados. Um Shard é uma pequena parte de um Index, e cada Shard pode ser armazenado em um nó separado dentro de um Elasticsearch cluster. A divisão de dados em estilhaços otimiza o desempenho de pesquisa e consulta e aumenta a escalabilidade do sistema.
Por exemplo, para criar um novo Index nomeado products
em Elasticsearch, você pode usar a API ou ferramentas de gerenciamento como o Kibana para executar o seguinte comando:
PUT /products
{
"settings": {
"number_of_shards": 3,
"number_of_replicas": 2
}
}
No exemplo acima, criamos um Index products
com 3 shard
e 2 replica
de cada shard
para garantir disponibilidade e backup dos dados.
Mapping em Elasticsearch
Mapping é o processo de definir como Elasticsearch armazena e processa dados em um arquivo Index. Quando você adiciona um novo documento a um Index, Elasticsearch usa Mapping para determinar o tipo de dados de cada campo no documento. Isso ajuda Elasticsearch a entender como processar e pesquisar dados em diferentes campos.
Por exemplo, se tivermos um Index products
e quisermos definir Mapping para os campos name
(nome do produto) e price
(preço do produto) os tipos texto e flutuante, respectivamente, podemos executar o seguinte comando:
PUT /products/_mapping
{
"properties": {
"name": {
"type": "text"
},
"price": {
"type": "float"
}
}
}
No exemplo acima, definimos Mapping para o products
Índice, com o name
campo tendo o tipo de dados text
e o campo preço tendo o tipo de dados float
. Isso garante que ao Elasticsearch receber novos documentos para o products
Índice, ele armazenará e processará os name
campos e "preço" de acordo com os tipos de dados definidos.
Index e Mapping desempenham funções cruciais na organização e gerenciamento de dados em Elasticsearch. Eles ajudam Elasticsearch a entender e processar dados com eficiência, otimizar as operações de pesquisa e consulta e fornecer recursos de escalabilidade flexíveis para o sistema.