Elastic Search

Como Criar Índices Elasticsearch

Como Criar Índices Elasticsearch
Elasticsearch é uma parte da popular pilha ELK usada para análise de log e pesquisa. Aplicativos e sistemas estão constantemente registrando dados que podem ser muito úteis para solução de problemas e rastreamento de problemas. Usando a pilha ELK, você tem as melhores ferramentas para realizar essas tarefas de forma rápida e fácil.

Neste tutorial rápido, veremos Elasticsearch, especificamente como criar índices no mecanismo Elasticsearch. Embora você não precise de nenhum conhecimento abrangente sobre a pilha ELK para seguir este tutorial, ter um conhecimento básico dos seguintes tópicos pode ser vantajoso:

NOTA: Este tutorial também pressupõe que você tenha o Elasticsearch instalado e em execução em seu sistema.

O que são índices Elasticsearch?

Sem simplificar ou complicar demais as coisas, um índice Elasticsearch é uma coleção de documentos JSON relacionados.

Conforme mencionado em um post anterior, os índices do Elasticsearch são objetos JSON - considerados a unidade básica de armazenamento no Elasticsearch. Esses documentos JSON relacionados são armazenados em uma única unidade que compõe um índice. Pense nos documentos do Elasticsearch como tabelas em um banco de dados relacional.

Vamos relacionar um índice Elasticsearch como um banco de dados no mundo SQL.

Como Criar um Índice Elasticsearch

Elasticsearch usa uma API REST poderosa e intuitiva para expor seus serviços. Esta funcionalidade permite que você use solicitações HTTP para realizar operações no cluster Elasticsearch. Portanto, usaremos a API de criação de índice para criar um novo índice.

Para este guia, usaremos cURL para enviar as solicitações e preservar a integridade e usabilidade para todos os usuários. No entanto, se você encontrar erros com cURL, considere o uso do console Kibana.

A sintaxe para criar um novo índice no cluster Elasticsearch é:

COLOCAR /

Para criar um índice, tudo o que você precisa fazer é passar o nome do índice sem outros parâmetros, o que cria um índice usando as configurações padrão.

Você também pode especificar vários recursos do índice, como no corpo do índice:

  • As configurações para o índice
  • Aliases de índice
  • Mapeamentos para campos de índice

O nome do índice é um parâmetro obrigatório; caso contrário, você obterá um erro para o URIL (/)

curl -X PUT “localhost: 9200”
"erro": "Método HTTP incorreto para uri [/] e método [PUT], permitido: [DELETE, HEAD, GET]", "status": 405

Para criar um novo índice com o nome single_index, passamos a solicitação:

PUT / single_index

Para cURL, use o comando:

curl -X PUT "localhost: 9200 / single_index?bonito"

Este comando deve resultar em HTTP Status 200 OK e uma mensagem com reconhecido: verdadeiro como:


“Reconhecido”: verdadeiro,
"shards_acknowledged": verdadeiro,
"index": "single_index"

A solicitação acima cria um índice single_index com configurações padrão, pois não especificamos nenhuma configuração.

Regras de nomenclatura de índice

Ao criar nomes para índices Elasticsearch, você deve aderir aos seguintes padrões de nomenclatura:

  1. O nome do índice deve estar apenas em letras minúsculas.
  2. Os nomes dos índices não podem começar com um traço (-), um sublinhado (_) ou um sinal de adição (+)
  3. Os nomes não podem ser . ou…
  4. Os nomes dos índices não podem incluir caracteres especiais como: \, /, *, ?, “, <, >, |, "(caractere de espaço), ,, #
  5. O comprimento dos nomes de índice deve ser inferior a 255 bytes. Os caracteres multibyte contarão no comprimento total do nome do índice. Por exemplo, se um único caractere tiver 8 bytes de comprimento, o comprimento total restante do nome é 255 - 8
  6. Na versão mais recente do Elasticsearch, nomes que começam com um . são reservados para índices ocultos e índices internos usados ​​pelos plug-ins Elasticsearch.

Como criar um corpo de índice

Ao usar a solicitação PUT para criar um índice, você pode passar vários argumentos que definem as configurações para o índice que deseja criar. Os valores que você pode especificar no corpo incluem:

  • Apelido: Especifica nomes de alias para o índice que você deseja criar; este parâmetro é opcional.
  • Definições: Isso define as opções de configuração para o índice que você deseja criar. Se você não especificar nenhum parâmetro, o índice será criado usando as configurações padrão.
  • Mapeamentos: Isso define o mapeamento para campos no índice. As especificações que você pode incluir nos mapeamentos incluem:
    • O nome do campo
    • O tipo de dados
    • O parâmetro de mapeamento

Para obter um exemplo de criação de um índice com configurações corporais, considere a solicitação abaixo:

PUT / single_index_with_body

"definições":
"numero_de_shards": 2,
"numero_de_replicas": 2
,
“Mapeamentos”:
"propriedades":
"campo1": "tipo": "objeto"


Para um pedido equivalente cURL:

curl -XPUT "http: // localhost: 9200 / single_index_with_body" -H 'Content-Type: application / json' -d '"settings": "number_of_shards": 2, "number_of_replicas": 2, "mappings" : "propriedades": "campo1": "tipo": "objeto" '

A solicitação acima cria um novo índice com o nome single_index_with_body com 2 números de fragmentos e 2 réplicas. Ele também cria um mapeamento com um campo de nome field1 e digite como um objeto JSON.

Depois de enviar a solicitação, você receberá uma resposta com o status da solicitação como:


“Reconhecido”: verdadeiro,
"shards_acknowledged": verdadeiro,
"index": "single_index_with_body"

“Acknowledged” mostra se o índice foi criado com sucesso no cluster, enquanto “shards_acknowledged” mostra se o número necessário de cópias de shard foi iniciado para cada shard no índice especificado antes do tempo limite.

Como visualizar o índice Elasticsearch

Para visualizar as informações sobre o índice que você criou, use uma solicitação semelhante à de criação de um índice, mas use o método HTTP em vez de PUT como:

GET / single_index_with_body

Para cURL,

curl -XGET “http: // localhost: 9200 / single_index_with_body”

Este comando fornecerá informações detalhadas sobre o índice solicitado como:


"single_index_with_body":
"apelido" : ,
"mapeamentos":
"propriedades":
"campo1":
"tipo": "objeto"


,
"definições" :
"índice":
"roteamento":
"alocação":
"incluir" :
"_tier_preference": "data_content"


,
"numero_de_shards": "2",
"provided_name": "single_index_with_body",
"creation_date": "1611045687208",
"numero_de_replicas": "2",
"uuid": "3TRkO7xmQcSUOOGtb6pXVA",
"versão":
"criado": "7100299"




Conclusão

Este guia discutiu como trabalhar com Elasticsearch para criar uma API de índice para criar novos índices. Também discutimos como criar nomes adequados para os índices e definições de configuração.

Usando este guia, agora você pode criar e visualizar índices usando a API Elasticsearch.

AppyMouse na tela Trackpad e ponteiro do mouse para tablets Windows
Os usuários de tablets costumam perder o ponteiro do mouse, especialmente quando costumam usar laptops. Os smartphones e tablets touchscreen vêm com m...
O botão do meio do mouse não funciona no Windows 10
O botão do meio do mouse ajuda você a percorrer longas páginas da web e telas com muitos dados. Se isso parar, você vai acabar usando o teclado para r...
Como alterar os botões esquerdo e direito do mouse no PC com Windows 10
É normal que todos os dispositivos de mouse de computador sejam ergonomicamente projetados para usuários destros. Mas existem dispositivos de mouse di...