ElasticSearch эквивалентно SQL «ГДЕ (условие1 ИЛИ (условие2 И условие3))»

Я новичок в эластичном поиске, и мне трудно понять, как преобразовать приведенный ниже SQL-запрос в синтаксис ES:

WHERE (id IS NULL OR (id IS NOT NULL AND test = 0))

Я думаю, мне нужно где-то использовать ключевое слово «следует» и, возможно, фильтр, но я не совсем уверен, как сделать запрос в ES.

ReactJs | Supabase | Добавление данных в базу данных
ReactJs | Supabase | Добавление данных в базу данных
Это и есть ваш редактор таблиц в supabase.👇
Понимание Python и переход к SQL
Понимание Python и переход к SQL
Перед нами лабораторная работа по BloodOath:
0
0
94
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Ваш запрос должен выглядеть так:

{
  "bool": {
    "should": [
      {
        "bool": {
          "must_not": [
            {
              "exists": {
                "field": "id"
              }
            }
          ]
        }
      },
      {
        "bool": [
          "must": [
            {
              "exists": {
                "field": "id"
              }
            },
            {
              "term": {
                "test": {
                  "value": 0
                }
              }
            }
          ]
        ]
      }
    ]
  }
}

Другие вопросы по теме