Skip to content

Latest commit

 

History

History
42 lines (29 loc) · 2.62 KB

index_type_document.md

File metadata and controls

42 lines (29 loc) · 2.62 KB

Index, Type, Document ?

Agora que fizemos a instalação e garantimos que o nosso Elasticsearch está operacional, vamos entender na prática o que é um index, type e um document. Para isto, vamos começar a colocar alguns dados no nosso Elasticsearch ! Execute o comando abaixo:

curl -XPUT -H "Content-Type: application/json" http://localhost:9200/mycompany/funcionarios/1 -d '
{
  "nome": "João Silva",
  "idade": 19,
  "endereco": "Avenida da Magia",
  "hobbies": ["Tocar guitarra", "Acampar com a familia"],
  "interesses": "musica"
}'

Provavelmente você recebeu uma resposta parecida com esta:

{"_index":"mycompany","_type":"funcionarios","_id":"1","_version":1,"result":"created","_shards":{"total":2,"__successful__":1,"failed":0},"created":true}

Isto significa que o nosso documento JSON foi indexado com sucesso. O verbo PUT utilizado, basicamente diz para o Elasticsearch: "guarde este documento NESTA url" (o POST se assemelha em funcionalidade, porém dizendo a frase: "guarde o documento ABAIXO desta url". Entenderemos melhor a diferença posteriormente).

Para facilitar o entedimento do conceito de index, type e document, vamos fazer uma analogia com um banco de dados SQL padrão:

MySQL Banco de Dados Tabela Chave Primária Linha Coluna
Elasticsearch Index Type Id Document Field
------------- mycompany funcionarios 1 Documento JSON nome, idade...

OBS: Os termos "indexar" e "index" possuem significados diferentes no universo do Elasticsearch, e também se diferenciam do conceito de índices utilizados em Banco de Dados. Indexar no Elasticsearch é o mesmo que adicionar um documento JSON (como realizar um INSERT), e index é uma forma de separar logicamente dados de diferentes propósitos.

Ok, temos o nosso primeiro funcionário João Silva indexado no nosso index mycompany ! Vamos fazer a nossa primeira consulta:

curl -XGET http://localhost:9200/mycompany/funcionarios/_search?pretty

Com o comando acima, chamamos a API padrão de buscas do Elasticsearch _search (o parâmetro ?pretty é opcional e só serve para formatar a resposta em JSON). Como não passamos nenhum parâmetro, a API sempre nos retorna os 10 primeiros resultados encontrados, que neste caso nos trouxe apenas o João (we're hiring). Sinta-se livre para criar e consultar mais funcionários para exercitar a sintáxe :) .

Próximo: Tipos e Formas de Pesquisa