Elasticsearch Flush

Elasticsearch Flush
Elasticsearch fornece uma API de descarga que chama o índice ou operações de descarga de dados de dados. A descarga de um índice ou fluxo de dados garante que os dados armazenados no log de transações sejam movidos para o índice Lucene.

Mover os dados do log de transações para o índice Lucene removeu a necessidade de gerenciar outra cópia do log de transações. Ele também permite que o Elasticsearch libere espaço em disco removendo quaisquer arquivos de geração desnecessária.

Esta posta.

Sintaxe da API

O trecho abaixo mostra a sintaxe do uso da API Elasticsearch Flush.

Post // _ Flush

O parâmetro de destino pode ser um nome de um índice, fluxo de dados ou índice. Você também pode especificar vários índices ou fluxos de dados em uma lista separada por vírgula. Lembre -se de que o Elasticsearch irá liberar o log de transações nos alvos especificados.

Se você deseja liberar todos os índices e fluxos de dados no cluster, pode pular o valor de destino, como mostrado na sintaxe abaixo:

Publicar /_flush

Você também pode usar um asterisco ou o parâmetro _All.

Parâmetros de consulta

A API suporta os seguintes parâmetros, permitindo que você modifique o comportamento de solicitação e resposta.

  1. allow_no_inidices - Permite que a solicitação retorne um erro se houver alguma expressões de curinga ou pseudônimo.
  2. expand_wildcards - permite que a solicitação expanda os curingas passadas e combine -os em qualquer índice ou fluxo de dados.
  3. Force - Permite o pedido para forçar uma operação de descarga, apesar de nenhum dado disponível para comprometer o Lucene Index.
  4. ignore_unavilable - ignora se o alvo estiver ausente ou fechado.
  5. Wait_if_ongoing - bloqueia a operação de descarga até que todas as outras operações de descarga estejam completas.

Exemplo - Elasticsearch Flush Index específico

O exemplo abaixo mostra como usar a API Elasticsearch Flush para liberar um índice de destino.

Curl -xpost “http: // localhost: 9200/Disney/_flush” -H “KBN -XSRF: Relatórios”

A solicitação acima libera o índice com o nome 'Disney'. A saída resultante é como mostrado:


"_shards":
"Total": 2,
"bem -sucedido": 2,
"falhou": 0

Exemplo 2 - Elasticsearch Libe vários índices e fluxos de dados

Para liberar vários índices e fluxos de dados, podemos especificá-los como lista separada por vírgula, como mostrado:

Curl -xpost "http: // localhost: 9200/Disney, Disney_plus/_flush" -h "Kbn -xsrf: relatórios"

A saída resultante:


"_shards":
"Total": 4,
"bem -sucedido": 4,
"falhou": 0

Exemplo 3 - Elasticsearch FLIX Todos os índices e fluxos de dados no cluster

Para liberar todos os fluxos de dados e índices no cluster, podemos executar a solicitação como mostrado:

Curl -xpost "http: // localhost: 9200/_flush" -h "kbn -xsrf: relatórios"

A saída resultante:


"_shards":
"Total": 12,
"bem -sucedido": 12,
"falhou": 0

Conclusão

Neste post, você aprendeu a usar a API Elasticsearch Flush para liberar o log de transações de um índice ou fluxo de dados para o índice Lucene.