Как мне объединить эти два запроса в Python упругого поиска? - PullRequest
0 голосов
/ 03 мая 2019

У меня есть два запроса, которые я хотел бы объединить

Первый возвращает результаты, значение «analysis.data_counts» которых больше 0.

{
   "query": {
       "range" : {
           "analysis.data_counts" : {
               "gte" : 1,
           }
       }
   }
}

Второй проверяет, является ли оноимеет определенное поле, а также проверяет другое значение поля bool и, если оно имеет это значение, увеличивает его в запросе, чтобы они отображались первыми

  "query": {
    "bool": {
      "must": {
        "exists": {
          "field": "data_types"
        }
      },
      "should": {
        "term": {
          "reviewed": False
        },

      }
    }
  }
})

Поэтому мне нужно связать их вместе, чтобы получить результаты, которые имеют"analysis.data_counts"> = 1, иметь тип поля «data_types» и сделать так, чтобы «просмотренные» == False появлялись перед истинными

1 Ответ

2 голосов
/ 03 мая 2019

Вы можете сделать это так:

{
  "query": {
    "bool": {
      "must": [
        {
          "exists": {
            "field": "data_types"
          }
        },
        {
          "range" : {
            "analysis.data_counts" : {
               "gte" : 1,
            }
          }
        }
      ],
      "should": {
        "term": {
          "reviewed": False
        }
      }
    }
  }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...