Соответствующий запрос с несколькими значениями в Elasticsearch-dsl - PullRequest
0 голосов
/ 03 июля 2019

Я пытаюсь написать запрос, в котором несколько значений должны быть сопоставлены с полем.

В этом примере я пытаюсь получить результаты за все месяцы с помощью соответствующего поля в запросе.Что я не знаю, как написать этот запрос в DSL?

months = [2,3,4]
client = Elasticsearch()
    s = Search(using=client, index="namco_revenuestream")
s = s.query("match", month_period=months)

1 Ответ

0 голосов
/ 03 июля 2019

Вы можете использовать условия запроса вместо match запроса, как показано ниже:

{
  "query": {
    "terms": {
      "month_period": [2,3,4]
    }
  }
}

РЕДАКТИРОВАТЬ: запрос с использованием match

{
  "query": {
    "match": {
      "month_period": {
        "query": "2 3 4",
        "analyzer": "standard"
      }
    }
  }
}
...