Эластичный поиск, запрос на основе другого запроса

Я хочу выполнить запрос, а затем использовать результаты для выполнения другого запроса
чтобы очистить:
Я хочу выполнить запрос и выбрать идентификаторы, а затем использовать эти идентификаторы, чтобы найти некоторых пользователей, которые думают, как
SELECT * FROMpostsWHERE user_id IN (SELECT id FROM users WHERE id IN (1,2,3,4,...)) в sql


person AH.Pooladvand    schedule 09.01.2019    source источник
comment
почему бы вам не отфильтровать (ваш выбор для пользователей) и не искать сообщения в одном кадре?   -  person ibexit    schedule 09.01.2019
comment
@ibexit, пожалуйста, дайте мне пример или ссылку?   -  person AH.Pooladvand    schedule 09.01.2019


Ответы (1)


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

В следующем примере я отфильтровал результат на основе значения result_type.

А затем сгруппировали значения

пример

GET .ml-anomalies-.write-high_request_time/_search
{
  "size": 0,
  "query": {
   "query_string": {
     "query": "result_type: model_plot OR result_type:bucket"
   }
  }, 
  "aggs": {
    "NAME": {
      "terms": {
        "field": "result_type",
        "size": 10
      }
    }
  }
}

Вы можете попробовать ту же команду в следующем демонстрационном окне https://demo.elastic.co/app/kibana#/dev_tools/console?_g=()

person Pandiyan Cool    schedule 09.01.2019
comment
это может работать, но проблема в том, что они находятся в отдельных индексах - person AH.Pooladvand; 09.01.2019
comment
вы не можете этого сделать, я думаю, вы не упомянули о разных индексах в вопросе - person Pandiyan Cool; 09.01.2019