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)