Certifique-se que o cluster foi iniciado. Como podemos ver nesse artigo #001: Iniciando no Elasticsearch.
Os documentos são indexados no elasticsearch no formato como JSON. Ex:
{ "id": 1, "name": "Christopher M. Bass", "age": 45, "createdAt": "2021-08-17T02:36:39.104" }
Use o curl
para indexar o documento. O mesmo será indexado no índice customers
. A palavra _doc
é reservada e iremos entende-lá melhor quando falarmos sobre mappings.
$ curl -X POST "http://localhost:9202/customers/_doc" -H "Content-Type: application/json" -d ' { "id": 1, "name": "Christopher M. Bass", "age": 45, "createdAt": "2021-08-17T02:36:39.104" }'
O cluster confirma a indexação e como não atribuímos um identificador para o documento, o cluster cria automáticamente. Como podemos ver no atributo _id
.
{ "_index": "customers", "_type": "_doc", "_id": "TKMXUnsBDnCk96a8UqV7", "_version": 1, "result": "created", "_shards": { "total": 2, "successful": 1, "failed": 0 }, "_seq_no": 1, "_primary_term": 1 }
Para atribuir um identificador basta informar um valor único depois do _doc/?
. Ex: http://localhost:9202/customers/_doc/1"
.
É importante frisar a diferença entre id
e _id
. O _id
é identificador único do elasticsearch, diferentemente de id
que pode conter ou não no documento indexado.
Para visualizar o documento indexado podemos fazer a pesquisa pelo identificador _id
. Ex:
$ curl -X GET "http://localhost:9202/customers/_doc/1"
{ "_index": "customers", "_type": "_doc", "_id": "1", "_version": 1, "_seq_no": 0, "_primary_term": 1, "found": true, "_source": { "id": 1, "name": "Christopher M. Bass", "age": 45, "createdAt": "2021-08-17T02: 36: 39.104" } }
No próximo artigo iremos entender como retornar todos os documentos de um indíce. Até lá pratique bem essa etapa, ela é o coração para um bom aprendizado sobre elasticsearch.
Top comments (0)