Exibindo campos em um índice do Elasticsearch

Explorando técnicas para exibir campos em um índice do Elasticsearch.

Neste artigo, discutiremos como exibir campos em um índice do Elasticsearch. Isso pode ser útil para entender a estrutura dos seus dados, identificar campos específicos e solucionar problemas. Abordaremos os seguintes tópicos:

  1. Utilizando a API_mappingpara recuperar informações de campo
  2. Utilizando a API_searchpara exibir valores de campo
  3. Filtrar campos usando o parâmetrofields
  4. Exibindo campos aninhados

1. Utilizando a API _mapping para recuperar informações de campo

A API _mapping permite recuperar a definição de mapeamento para um índice ou vários índices. Isso inclui informações sobre os campos, seus tipos de dados e outras propriedades. Para recuperar o mapeamento de um índice específico, utilize a seguinte solicitação:

Por exemplo, se você tiver um índice chamado my_index, poderá recuperar seu mapeamento com a seguinte solicitação:

A resposta incluirá a definição de mapeamento para o índice, que contém informações sobre os campos e suas propriedades.

Também é possível recuperar o mapeamento de um campo específico. Isso pode ser útil se o seu mapeamento for muito extenso e você quiser se concentrar apenas em um campo específico. Para obter o mapeamento de um campo específico, utilize a seguinte solicitação:

Você também pode recuperar os mapeamentos de vários campos separando seus nomes com vírgulas, como na seguinte solicitação:

2. Usando a API _search para exibir valores de campo

Para exibir os valores dos campos em um índice do Elasticsearch, você pode usar a API _search . Por padrão, a API _search retorna o campo _source , que contém o documento JSON original que foi indexado. Para exibir apenas campos específicos, você pode usar o parâmetro _source na solicitação de pesquisa.

Aqui está um exemplo de uma solicitação de pesquisa que retorna os valores dos campos title e author para documentos no índice my_index :

Neste exemplo, o parâmetro _source especifica os campos a serem retornados.

3. Filtrar campos usando o parâmetro fields

Você também pode usar o parâmetro fields para filtrar os campos retornados na resposta da pesquisa. Isso pode ser útil se você precisar apenas de campos específicos e quiser reduzir o tamanho da resposta. O parâmetro fields aceita uma matriz de nomes de campos ou padrões curinga.

Por exemplo, para retornar apenas os campos title e author para documentos no índice my_index , você pode usar a seguinte solicitação de pesquisa:

Note que o parâmetro _source está definido como falso para não retornar o documento de origem.

Para retornar todos os campos com o tipo de dados text , você pode usar um padrão curinga como este:

4. Exibição de campos aninhados

Se o seu índice contiver campos aninhados, você pode usar a notação de ponto para especificar o caminho do campo aninhado no parâmetro fields . Por exemplo, se você tiver um campo aninhado chamado address.city, poderá incluí-lo na resposta da pesquisa desta forma:

Neste exemplo, a resposta da pesquisa incluirá os valores dos campos title, author e address.city .

Conclusão

Em conclusão, a exibição de campos em um índice do Elasticsearch pode ser realizada usando a API _mapping para recuperar informações do campo e a API _search para exibir os valores do campo. Você pode filtrar os campos retornados na resposta da pesquisa usando os parâmetros _source ou fields e exibir campos aninhados usando a notação de ponto. Essas técnicas podem ajudá-lo a entender a estrutura de seus dados, identificar campos específicos e solucionar problemas.

Conteúdo relacionado

Pronto para criar buscas de última geração?

Uma pesquisa suficientemente avançada não se consegue apenas com o esforço de uma só pessoa. O Elasticsearch é impulsionado por cientistas de dados, especialistas em operações de aprendizado de máquina, engenheiros e muitos outros que são tão apaixonados por buscas quanto você. Vamos nos conectar e trabalhar juntos para construir a experiência de busca mágica que lhe trará os resultados desejados.

Experimente você mesmo(a)