ElasticSearch: точное соответствие для нескольких полей

Как я могу сгенерировать такой запрос?

select * from topic where field1 = "abc" and field2 = "xyz"

Я пробовал следующее, но не могу получить правильный синтаксис:

curl -X POST "localhost:9200/topic/_search" -H 'Content-Type: application/json' -d'
{
  "query": {
    "terms" : { 
       "field1": "abc",
       "field2": "xyz"
    }
  }
}
'

person drum    schedule 05.06.2018    source источник


Ответы (1)


Как насчет...

{
  "query": {
    "bool": {
      "must": [
        {
          "term": {
            "field1": "abc"
          }
        },
        {
          "term": {
            "field2": "xyz"
          }
        }
        ]
      }
  }
}

запрос терминов не не делай, что хочешь. Вместо этого он ищет разные значения в одном и том же ключе.

person Strnm    schedule 05.06.2018