[ES da entrada ao combate real] 8. Pesquisa de texto completo-ElasticSearch-entrada-exclusão de dados e operação em massa para importar dados de teste de amostra

Continue da seção 7

5. Excluir documento e índice

Excluir tipo Método ou parâmetro de caminho
Apagar documento DELETE cliente / externo / 1
Excluir índice DELETE cliente

5.1, excluir documentos

Use o método delete para enviar o carteiro na http://192.168.56.10:9200/customer/external/1solicitação, você pode ver os resultados, você pode ver os documentos excluídos Sucesso:
Insira a descrição da imagem aqui

Uma solicitação de retransmissão 404 retorna um status dos not_foundresultados:
Insira a descrição da imagem aqui

Consulte o documento que acabou de ser excluído, ele retornará um "found": falseresultado de status 404:
Insira a descrição da imagem aqui

5.2, exclua o índice

Use o método delete para enviar o carteiro na http://192.168.56.10:9200/customersolicitação, você pode ver os resultados, você pode ver que o índice foi excluído com sucesso:
Insira a descrição da imagem aqui

Uma solicitação de retransmissão 404 retorna um status dos index_not_found_exceptionresultados:
Insira a descrição da imagem aqui

Consulte o índice que acabou de ser excluído, ele retornará um no such index [customer]resultado de status 404:
Insira a descrição da imagem aqui

Portanto, a questão é, uma vez que a 文档soma pode ser excluída 索引, ela pode ser excluída 类型?

No ES, há muitos tipos em um índice, mas o ES não fornece um método para excluir tipos. Se um índice for excluído, todos os tipos serão excluídos.

6. API em massa

operativo parâmetro
POST
cliente / externo / _bulk
{“Index” {"_id": “1”}
{“nome”: “John Nash”}

{“index”: "_ id" 2 "}
{“ nome ”:“ Jane Nash ”}
Formato de gramática {ação: {metadados}} \ n
{corpo da solicitação} \ n

{ação: {metadados}} \ n
{corpo da solicitação} \ n
Instância complexa
POST / _bulk
{“Excluir”: {"_ index": “website”, "_ type": “blog”, "_ id": “123”}}
{“criar”: {"_ index": “website”, "_ type": “ blog ”," _ id ":“ 123 ”}}
{“ title ”:“ My first blog post ”}
{“ index ”: {" _ index ":“ website ”," _ type ":“ blog ”}}
{“ title ”:“ Minha segunda postagem do blog ”}
{“ atualização ”: {" _ index ":“ website ”," _ type ":“ blog ”," _ id ":“ 123 ”}}
{“ doc ”: {“ title ”: “Minha postagem atualizada do blog”}}

Para usar a API em massa, precisamos realizar nossas operações em kibana. Se você solicitar um erro no carteiro, um erro será relatado: em
primeiro lugar, os dados em nosso corpo de solicitação não estão mais no formato json. Usamos formato de texto e relataremos o seguinte erro :
Insira a descrição da imagem aqui

Vamos mudar para json e tentar novamente: o
Insira a descrição da imagem aqui
formato json acima está errado, modifique e tente novamente:
Insira a descrição da imagem aqui
você pode ver que as operações em massa não podem ser concluídas no carteiro, precisamos operar no kibana instalado anteriormente.
Abra o console do kibana e selecione DevTools:
Insira a descrição da imagem aqui

Clique depois DevToolsda interface de dados. Estamos aqui para realizar operações de dados:
Insira a descrição da imagem aqui

Use DevToolspara realizar operações em lote, veja os seguintes resultados:
Insira a descrição da imagem aqui

Execute uma operação em lote complexa:

POST /_bulk
{"delete":{"_index":"website","_type":"blog","_id":"123"}}
{"create":{"_index":"website","_type":"blog","_id":"123"}}
{"title":"My first blog post"}
{"index":{"_index":"website","_type":"blog"}}
{"title":"My second blog post"}
{"update":{"_index":"website","_type":"blog","_id":"123"}}
{"doc":{"title":"My updated blog post"}}

Usado diretamente acima /_bulk, sem especificar um índice específico, significa que é executado globalmente no ES. Os resultados são os seguintes:
Insira a descrição da imagem aqui

A API em massa executa todas as action(ações) nesta ordem .
Se uma única ação falhar por qualquer motivo, ela continuará a processar as ações restantes após ela.
Quando a API em massa retornar, ela fornecerá o status de cada ação (o mesmo pedido enviado), para que você possa verificar se uma ação especificada falhou.

7. Amostra de dados de teste

Eu preparei uma amostra de um documento JSON fictício de informações da conta bancária do cliente. Cada documento possui o seguinte esquema (modo):

esquema
{ “Account_number”: 1, “balance”: 39225, “firstname”: “Amber”, “lastname”: “Duke”, “age”: 32, “gender”: “M”, “address”: “880 Holmes Lane ”, “ empregador ”:“ Pyrami ”, “ email ”:“ [email protected] ”, “ cidade ”:“ Brogan ”, “ estado ”:“ IL ” }











Os dados acima são interceptados de documentos oficiais do ES no github, você pode visitar o seguinte endereço:

accounts.json import test data

Execute dados de teste em ES
POST bank/account/_bulk:
Insira a descrição da imagem aqui

Se for difícil copiar dados no github, você pode usar os dados que baixei: accounts.json ou visite gitee-accounts.json

Após a criação, você pode usá- http://192.168.56.10:9200/_cat/indiceslo para verificar o índice atual no ES. Você pode ver que o índice com banco tem 1000 dados:
Insira a descrição da imagem aqui


referência:

Referência Elasticsearch

elástico

Introdução ao mecanismo de pesquisa de texto completo Elasticsearch

Acho que você gosta

Origin blog.csdn.net/runewbie/article/details/106315509
Recomendado
Clasificación