Para aqueles que procuram um exemplo de ambos ignore_unmapped
e
unmapped_type
consulte a minha resposta aqui .
Observe que "ignore_unmapped" agora está obsoleto em favor de "unmapped_type". Isso foi feito como parte do # 7039
Da documentação: Antes da 1.4.0 havia o parâmetro booleano ignore_unmapped, que não era informação suficiente para decidir sobre os valores de classificação a serem emitidos e não funcionava para pesquisa de índice cruzado. Ainda é compatível, mas os usuários são incentivados a migrar para o novo unmapped_type.
Por padrão, a solicitação de pesquisa falhará se não houver mapeamento associado a um campo. A opção unmapped_type permite ignorar os campos que não possuem mapeamento e não classificar por eles. O valor deste parâmetro é usado para determinar quais valores de classificação emitir. Aqui está um exemplo de como ele pode ser usado:
{
"sort" : [
{ "price" : {"unmapped_type" : "long"} },
],
"query" : {
"term" : { "user" : "kimchy" }
}
}
Se algum dos índices consultados não tiver um mapeamento de preço, o Elasticsearch o tratará como se houvesse um mapeamento do tipo longo, com todos os documentos neste índice sem valor para este campo.