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:
Utilizando a API
_mappingpara recuperar informações de campoUtilizando a API
_searchpara exibir valores de campo
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:
GET /<index_name>/_mappingPor exemplo, se você tiver um índice chamado my_index, poderá recuperar seu mapeamento com a seguinte solicitação:
GET /my_index/_mappingA 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:
GET /my_index/_mapping/field/my_fieldVocê também pode recuperar os mapeamentos de vários campos separando seus nomes com vírgulas, como na seguinte solicitação:
GET /my_index/_mapping/field/my_field_1,my_field_2,my_field_32. 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 :
GET /my_index/_search
{
"query": {
"match_all": {}
},
"_source": ["title", "author"]
}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:
GET /my_index/_search
{
"query": {
"match_all": {}
},
"fields": ["title", "author"],
"_source": false
}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:
GET /my_index/_search
{
"query": {
"match_all": {}
},
"fields": ["*.text"],
"_source": false
}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:
GET /my_index/_search
{
"query": {
"match_all": {}
},
"fields": ["title", "author", "address.city"],
"_source": false
}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.




