Como criar índices de pesquisa de elasticse

Como criar índices de pesquisa de elasticse
Elasticsearch é uma parte da pilha de alces popular usada para análise de logs e pesquisa. Aplicativos e sistemas estão constantemente registrando dados que podem ser muito úteis para solucionar problemas de solução e rastreamento. Usando a pilha de alces, você tem as melhores ferramentas para executar essas tarefas de maneira rápida e muito fácil.

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

  • Usando o terminal, especificamente, Curl
  • Conhecimento básico de APIs e JSON
  • Fazendo solicitação HTTP

OBSERVAÇÃO: Este tutorial também assume que você tem o Elasticsearch instalado e executando em seu sistema.

O que são os índices de Elasticsearch?

Sem coisas simplificadoras ou supercomplicantes, um índice de pesquisa de elasticação é uma coleção de documentos JSON relacionados.

Conforme mencionado em um post anterior, os índices Elasticsearch são objetos JSON Considerados a Unidade Base de Armazenamento em 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.

  • Mysql => bancos de dados => tabelas => colunas/linhas
  • Elasticsearch => índices => TIPOS => Documentos JSON com propriedades

Como criar um índice de Elasticsearch

Elasticsearch usa uma API REST poderosa e intuitiva para expor seus serviços. Essa funcionalidade permite que você use solicitações HTTP para executar operações no cluster Elasticsearch. Portanto, usaremos a API Create Index para criar um novo índice.

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

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

COLOCAR /

Para criar um índice, tudo o que você precisa fazer é passar no nome do índice sem outros parâmetros, o que cria um índice usando 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 necessário; Caso contrário, você receberá um erro para o URIL (/)

Curl -x Coloque “Localhost: 9200”
"Error": "Método HTTP incorreto para URI [/] e Method [put], permitido: [excluir, cabeça, 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 Cut "Localhost: 9200/single_index?bonito"

Este comando deve resultar no status HTTP 200 OK e uma mensagem com reconhecimento: true como:


"Reconhecido": verdadeiro,
"shards_acknowleded": verdadeiro,
"Índice": "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 nomeação do índice

Ao criar nomes para os índices de pesquisa de elasticidade, você deve aderir aos seguintes padrões de nomeação:

  1. O nome do índice deve estar apenas em minúsculas.
  2. Os nomes do índice 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 de índices não podem incluir caracteres especiais como: \, /, *, ?, “,, |," (personagem espacial) ,, # #
  5. O comprimento dos nomes de índices deve ser inferior a 255 bytes. Os caracteres multi-bytes contarão no comprimento total do nome do índice. Por exemplo, se um único caractere tem 8 bytes de comprimento, o comprimento restante total 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 ​​por plugins de elasticsearch.

Como criar um corpo de índice

Ao usar a solicitação de put para criar um índice, você pode passar vários argumentos que definem as configurações para o índice que você deseja ter criado. 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.
  • Configurações: Isso define as opções de configuração para o índice que você deseja criar. Se você não especificar qualquer parâmetros, o índice será criado usando 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 um exemplo de criação de um índice com configurações do corpo, considere a solicitação abaixo:

Put /single_index_with_body

"configurações":
"number_of_shards": 2,
"number_of_replicas": 2
,
"Mapeamentos":
"Propriedades":
"Field1": "Type": "Object"


Para uma solicitação equivalente a 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": "field1": "type": "objeto" ''

A solicitação acima cria um novo índice com o nome single_index_with_body com 2 números de shards 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_acknowleded": verdadeiro,
"Index": "single_index_with_body"

"Reconhecido" mostra se o índice foi criado com sucesso no cluster, enquanto "shards_acknowleded" mostra se o número necessário de cópias de Shard foram iniciadas para todos os shard no índice especificado antes do tempo limite.

Como visualizar o Elasticsearch Index

Para visualizar as informações sobre o índice que você criou, use uma solicitação semelhante à de criar um índice, mas use o método HTTP em vez de colocar 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":
"Field1":
"Tipo": "objeto"


,
"configurações" :
"Índice":
"Roteamento":
"Alocação":
"incluir" :
"_tier_preference": "data_content"


,
"number_of_shards": "2",
"fornecido_name": "single_index_with_body",
"Creation_date": "1611045687208",
"number_of_replicas": "2",
"Uuid": "3TRKO7XMQCSUOOGTB6PXVA",
"versão":
"Criado": "7100299"




Conclusão

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

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