Olá, vi que a mesma pergunta já foi feita antes mas não teve continuidade, porém como estou passando pelo mesmo problema então segue a dúvida.
Quando utilizamos a busca por mais de um atributo não estão sendo considerados todos os atributos. Considerando que os dados que existem no meu elasticsearch são apenas os vistos em exercícios do curso, exemplos de querys que aparentemente não funcionam da maneira adequada:
GET /catalogo/pessoas/_search?q=interesses:música&estado:SP
GET /catalogo/pessoas/_search?q=interesses:futebol&cidade:rio
As duas querys acima retornam dados inconsistentes, onde a primeira retorna dois documentos, sendo que existe apenas um que possui o interesse música e é do estado de SP.
A segunda query retorna um registro sendo que não existe nenhum registro cujo o interesse seja futebol e a cidade rio. Está retornando apenas pelo o interesse futebol e ignorando o atributo cidade.
Pensei ter haver com a relevância (score) explicado na aula, porém no primeiro caso onde só tenho um documento que atende os dois parâmetros da query e o segundo documento atende apenas o parâmetro interesses, fui verificar se um possuía o score maior que o outro, porém não era o caso, os dois possuíam o score 0.15342641.
Logo não sei se é um comportamento esperado e mais adiante veremos sobre isso ou outra coisa. Testei via curl e deu o mesmo resultado. Alguma luz?
Resultado da primeira busca:
GET /catalogo/pessoas/_search?q=interesses:música&estado:SP
{
"took": 12,
"timed_out": false,
"_shards": {
"total": 5,
"successful": 5,
"failed": 0
},
"hits": {
"total": 2,
"max_score": 0.15342641,
"hits": [
{
"_index": "catalogo",
"_type": "pessoas",
"_id": "1",
"_score": 0.15342641,
"_source": {
"nome": "João Silva",
"interesses": [
"futebol",
"música",
"literatura"
],
"cidade": "São Paulo",
"formação": "Letras",
"estado": "SP",
"país": "Brasil"
}
},
{
"_index": "catalogo",
"_type": "pessoas",
"_id": "3",
"_score": 0.15342641,
"_source": {
"nome": "Richard Edward",
"interesses": [
"matemática",
"física",
"música"
],
"cidade": "Boston",
"formação": "Física",
"estado": "MA",
"país": "Estados Unidos"
}
}
]
}
}