1
resposta

Filtro não retorna dados

Eu ainda não entendi porque o filtro abaixo não retorna dados, ja que o campo tags possui a palavra "scala"

GET /produtos/v1/_search
{
  "query" : {
    "terms": {
      "tags": ["scala"]
    }
  }
}

No documento a palavra scala esta exatamente igual:

POST /produtos/v1/
{
  "nome": "Scala: Como escalar sua produtividade",
  "categoria": "Livros",
  "subcategoria": "Tecnologia",
  "tags": ["impresso", "digital", "scala", "programação funcional", "computação", "imutabilidade"],
  "fornecedor": "Casa do Código",
  "preco": 69.90
}
1 resposta

Olá Rogério tudo bem com você??

Então analisando a documentação técnica, é possível observar o que aconteceu. Ali na sintaxe com relação aos { } e [ ]. Olha o modelinho de exemplo:

GET /_search
{
  "query": { 
    "bool": { 
      "must": [
        { "match": { "title":   "Search"        }},
        { "match": { "content": "Elasticsearch" }}
      ],
      "filter": [ 
        { "term":  { "status": "published" }},
        { "range": { "publish_date": { "gte": "2015-01-01" }}}
      ]
    }
  }
}

Este exemplo foi retirado deste link que é a documentação do ElasticSearch.

Se a minha resposta te ajudou, fico muito feliz =D e peço que por favor encerre o Post marcando a dúvida como resolvida! Caso precise de ajuda é só voltar aqui e perguntar.

Obrigado

Victor Gonzalez

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software