Todos os produtos
Search
Central de documentação

Elasticsearch:Perguntas frequentes sobre o Elasticsearch open source

Última atualização: Jun 27, 2026

Este tópico responde às perguntas mais frequentes sobre o Elasticsearch open source.

Visão geral

Como configure o tamanho do pool de threads para índices?

Antes de alterar o tamanho do pool de threads, confirme se o pool de threads de gravação está sob pressão. Execute o comando a seguir para verificar:

GET /_cat/thread_pool?v=true&h=id,name,queue,active,rejected,completed

Uma proporção alta de tarefas rejeitadas em relação às concluídas no pool de threads de gravação indica a necessidade de aumentar o tamanho da fila.

Para configure o tamanho do pool de threads, defina o parâmetro thread_pool.write.queue_size no arquivo de configuração YAML do cluster. Para obter mais informações, consulte Configurar o arquivo YML.

Thread pool size configuration

Importante

Para clusters Elasticsearch anteriores à versão 6.X, use o parâmetro thread_pool.index.queue_size.

O que fazer se ocorrer um erro de Out of Memory (OOM)?

Execute o comando a seguir para limpar o cache. Em seguida, analise a causa e atualize a configuração do cluster Elasticsearch ou ajuste sua aplicação.

curl -u elastic:<password> -XPOST "localhost:9200/<index_name>/_cache/clear?pretty"

Parâmetro

Descrição

<password>

Senha usada para acessar o cluster Elasticsearch. Definida durante a criação do cluster ou a inicialização do Kibana.

<index_name>

Nome do índice cujo cache será limpo.

Para instruções sobre atualização, consulte Atualizar a configuração de um cluster.

Como gerencie manualmente um shard?

Use a API reroute ou o Cerebro. Para detalhes sobre a API reroute, consulte API Cluster reroute.

Quais são as políticas de limpeza de cache do Elasticsearch?

O Elasticsearch oferece suporte a três escopos de limpeza de cache:

  • Limpeza do cache de todos os índices:

    curl localhost:9200/_cache/clear?pretty
  • Limpeza do cache de um índice específico:

    curl localhost:9200/<index_name>/_cache/clear?pretty
  • Limpeza do cache de vários índices simultaneamente:

    curl localhost:9200/<index_name1>,<index_name2>,<index_name3>/_cache/clear?pretty

Como redirecionar shards de índice?

Se houver shards perdidos ou mal alocados, execute o comando a seguir para movê-los ou realocá-los:

curl -XPOST 'localhost:9200/_cluster/reroute' -d '{
    "commands" : [ {
        "move" :
            {
              "index" : "test", "shard" : 0,
              "from_node" : "node1", "to_node" : "node2"
            }
        },
        {
          "allocate" : {
              "index" : "test", "shard" : 1, "node" : "node3"
          }
        }
    ]
}'

O erro "statusCode: 500" é exibido ao consultar um índice. O que fazer?

Use uma ferramenta de terceiros, como o Cerebro, para consultar o mesmo índice:

  • Se a consulta for bem-sucedida no Cerebro, o nome do índice é inválido. Renomeie o índice. Nomes de índice podem conter apenas letras, sublinhados (_) e dígitos.

  • Caso a consulta falhe no Cerebro, o problema reside no próprio índice ou cluster. Verifique se o cluster contém o índice e está funcionando normalmente.

Como alterar o valor do parâmetro auto_create_index?

Execute o seguinte comando:

PUT /_cluster/settings
{
    "persistent" : {
        "action": {
          "auto_create_index": "false"
        }
    }
}
Importante

O valor padrão de auto_create_index é false, o que impede o Elasticsearch de criar índices automaticamente. Evite alterar esse valor. Caso contrário, o Elasticsearch poderá criar índices excessivos com mappings ou configurações inesperadas.

Quanto tempo leva para crie um snapshot armazenado no OSS?

Quando as contagens de shards, o uso de memória, o uso de disco e a utilização da CPU estão em níveis normais, a criação de um snapshot para 80 GB de dados de índice leva aproximadamente 30 minutos.

Como determinar o número de shards ao crie um índice?

Divida o tamanho total dos dados pelo tamanho de cada shard para obter o número de shards. Recomendamos limitar o tamanho de cada shard a 30 GB. Se o tamanho de cada shard exceder 50 GB, o desempenho da consulta será severamente afetado.

Aumentar adequadamente o número de shards pode acelerar a criação do índice. No entanto, o desempenho da consulta é impactado tanto por um número muito pequeno quanto muito grande de shards.

  • Excesso de shards gera mais identificadores de arquivo e sobrecarga de comunicação entre nós, tornando as consultas mais lentas.

  • Poucos shards fazem com que cada um armazene mais dados, o que também desacelera as consultas.

Um erro é exibido ao usar o plugin elasticsearch-repository-oss para migrar dados de um cluster Elasticsearch autogerenciado. O que fazer?

Mensagem de erro:

ERROR: This plugin was built with an older plugin structure. Contact the plugin author to remove the intermediate "elasticsearch" directory within the plugin zip.

Solução: Renomeie o pacote ZIP de elasticsearch para elasticsearch-repository-oss e copie-o para o diretório plugins.

Como alterar o fuso horário para visualização de dados no console Kibana?

Altere o fuso horário diretamente no console Kibana. O exemplo a seguir usa um cluster Elasticsearch 6.7.0.

Kibana time zone setting step 1

A figura a seguir mostra o fuso horário selecionado.

Kibana time zone selection

Em quais tipos de dados posso execute consultas term do Elasticsearch?

Consultas term operam no nível de palavra e funcionam em dados estruturados: números, datas e campos keyword. Elas pesquisam diretamente nos índices invertidos sem dividir o texto em tokens.

Para campos de texto, utilize consultas full-text, pois elas tokenizam a entrada antes de buscar.

Quais são os cuidados ao usar aliases no Elasticsearch?

O número total de shards em todos os índices que compartilham o mesmo alias deve ser inferior a 1.024.

O que fazer se o erro too_many_buckets_exception for retornado durante uma consulta?

Mensagem de erro:

"type": "too_many_buckets_exception", "reason": "Trying to create too many buckets. Must be less than or equal to: [10000] but was [10001]"

Reduza o parâmetro size nas agregações de bucket para permanecer dentro do limite de 10.000 buckets. Para obter detalhes, consulte Limitar o número de buckets que podem ser criados em uma agregação. Também é possível seguir a abordagem descrita em Aumentar max_buckets para visualizações específicas.

Como exclua vários índices simultaneamente?

Por padrão, o Elasticsearch não permite a exclusão em massa de índices. Para ative essa funcionalidade, execute:

PUT /_cluster/settings
{
  "persistent": {
     "action.destructive_requires_name": false
  }
}

Após essa configuração entrar em vigor, use um caractere curinga para exclua vários índices simultaneamente.

É possível alterar o valor do parâmetro script.painless.regex.enabled?

O valor padrão é false. Expressões regulares em scripts Painless consomem recursos significativos. Portanto, mantenha essa configuração desativada, a menos que haja necessidade específica de suporte a regex nos scripts.

Para ative expressões regulares, defina script.painless.regex.enabled como true no arquivo de configuração elasticsearch.yml.

Como alterar as configurações de mapping, a contagem de shards primários ou a contagem de shards de réplica de um índice?

Configurações de mapping

Alterar o mapping de um índice existente requer reindexação. Para tipos de campo suportados, consulte Tipo de campo de dados.

Shards primários

Não é possível alterar a contagem de shards primários após a criação do índice. Se a contagem atual não atender mais às necessidades, use a API reindex para migrar dados para um novo índice com a contagem correta de shards.

Shards de réplica

Para alterar o número de shards de réplica para cada shard primário, execute:

PUT test/_settings
{
  "number_of_replicas": 0
}
Nota

Planeje as contagens de shards primários e de réplica antes de crie um índice para evitar reindexações custosas posteriormente.

Como armazenar os valores de um campo?

Por padrão, o Elasticsearch não armazena valores individuais de campos. Ele armazena apenas o campo _source, que contém o documento JSON original completo e permite recuperar qualquer campo no momento da consulta.

Para armazenar os valores de um campo específico separadamente, defina store: true no mapping do campo:

PUT /my_index
{
  "mappings": {
    "properties": {
      "my_field": {
        "type": "text",
        "store": true
      }
    }
  }
}
Nota

Ative o armazenamento no nível do campo aumenta o uso de disco. A menos que haja um motivo específico para armazenar valores de campo separadamente, utilize o _source.

Como controlar se um campo pode ser agregado?

A possibilidade de agregar um campo depende do seu tipo de dados e da ativação dos dados de campo subjacentes (doc_values ou fielddata).

Campos agregáveis por padrão

Campos numéricos, de data e keyword suportam agregação via doc_values, que utiliza um modelo de armazenamento orientado a colunas otimizado para classificação, agregação e scripts.

Campos de texto (não agregáveis por padrão)

Para agregar campos de texto, ative o fielddata no mapping:

PUT /my_index
{
  "mappings": {
    "properties": {
      "my_text_field": {
        "type": "text",
        "fielddata": true
      }
    }
  }
}
Aviso

Ative o fielddata carrega todos os dados de texto desse campo na memória heap da JVM, o que aumenta significativamente o uso de memória.

Desativar agregação para um campo

Para impedir que um campo seja agregado:

  • Defina enabled: false para o campo no mapping.

  • Exclua o campo inteiramente do documento.

O que fazer se o erro "Unknown char_filter type [stop] for **" for exibido ao configure o Elasticsearch?

O tipo stop é um filtro de token, não um filtro de caracteres. Colocá-lo na seção char_filter causa esse erro.

Mova a configuração stop de char_filter para a seção filter do analisador:

"settings": {
  "analysis": {
    "analyzer": {
      "my_custom_analyzer": {
        "type": "custom",
        "tokenizer": "standard",
        "filter": [
          "lowercase",
          "stop"
        ]
      }
    },
    "filter": {
      "stop": {
        "type": "stop",
        "stopwords": "_english_"
      }
    }
  }
}

Verifique também se todos os tipos de componentes especificados em char_filter, tokenizer e filter são tipos de filtro válidos do Elasticsearch.