Questão nº 51
Questão de Informática · FGV TJTO 2022 (nº 51)
No âmbito do ElasticSearch 8.x, a requisição que permite inserir um documento no índice (index) indice-01 com um _id igual a 1 é:
- A`INSERT indice-01/1`
- B`NEW _doc/indice-01/1`
- C`POST indice-01/_create/1`
- D`PUT indice-01/_doc/1` (alternativa correta)
- E`WRITE _doc/indice-01/1`
Resposta comentada
Gabarito Alternativa D
Elasticsearch armazena dados como "documentos" em "índices", e para interagir com ele, usamos requisições HTTP, onde o método (como PUT ou POST) e a URL definem a ação e o local (índice, tipo de documento e ID).
(A) Incorreta: `INSERT` é uma palavra-chave SQL e não um método HTTP ou comando reconhecido pelo ElasticSearch.
(B) Incorreta: `NEW` e a estrutura da URL não correspondem à sintaxe de requisições HTTP ou da API do ElasticSearch.
(C) Incorreta: Embora `POST indice-01/_create/1` seja uma requisição válida para criar um documento com `_id` 1, ela só funciona se o documento com esse ID ainda não existir. Se já existir, a requisição falhará. A questão pede para "inserir um documento", e a forma mais comum e direta de inserir (ou atualizar se já existir) um documento com um `_id` específico é usando `PUT`. A armadilha aqui é que `_create` existe e insere, mas `PUT` é a opção mais abrangente e padrão para especificar um ID.
(D) Correta: Esta é a requisição padrão e correta. `PUT` é o método HTTP usado para criar ou atualizar um recurso em uma URL específica. `indice-01` é o nome do índice, `_doc` é o tipo de documento (padrão a partir do ES 7.x) e `1` é o `_id` explícito para o documento. Se o documento com `_id` 1 não existir, ele será criado; se existir, será atualizado.
(E) Incorreta: `WRITE` não é um método HTTP ou comando reconhecido pelo ElasticSearch.
Fonte: FGV TJTO 2022 Técnico Judiciário - Informática (Caderno Tipo 1). Reproduzida para fins de estudo.