Объедините два ограничивающих прямоугольных фильтра с индивидуальной оценкой для каждого фильтра - PullRequest
0 голосов
/ 30 октября 2019

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

  1. Можно ли сделать это как один запрос?
  2. Если нетМогу ли я выполнить запрос с несколькими запросами и вернуть один набор неповторяющихся документов, или мне нужно выполнить дедупликацию вне запроса ES?

Вот что я на самом деле пытаюсьdo:

Запрос 1 - ограничивающий прямоугольник + оценка

У меня есть набор суставов пиццы в экземпляре эластичного поиска с метаданными, включая широту / длину пиццерии.

Каквходные данные для запроса, у меня есть северо-западный и юго-восточный углы ограничительной рамки.

Я хочу вернуть все пиццерии внутри ограничительной рамки и назначить им оценку 100.

Запрос 2 - ограничивающий прямоугольник + расчет расстояния

Из первого ограничивающего прямоугольника я генерирую второй ограничивающий прямоугольник, который на 20% больше (от центра входного ограничивающего прямоугольника) во всех направлениях.

Я хочу вернуть все пиццерии в пределах этого большего ограниченияи дайте им оценку от 0 до 99, чтобы они набрали больше баллов, чем ближе они находятся к центру этой большой ограничительной рамки.

Объединение их вместе

Мой финалВ результате получается, что мне нужен единый список всех документов, отсортированных по баллам:

  1. Где оценка всех пиццерий во внутренней ограничительной рамке равна 100
  2. И оценка всехсуставы пиццы, которые находятся во внешней ограничительной рамке , но не в внутренней ограничительной рамке, имеют оценку, назначенную на основе расстояния
  3. Два списка объединены в один, без повторяющихся документов, отсортированных пооценка по убыванию

Итак ...

Похоже, что это должны быть два отдельных запроса, потому что скоринг! = фильтрация, и части ограничивающего прямоугольника выглядят как фильтр, гдеОзвучивание отдельно. Из того, что я могу сказать, нет никакого способа сделать все следующее в одном запросе:

  • Внутренняя ограничивающая рамка + оценка
  • Внешняя ограничивающая рамка + оценка
  • комбинированный, дедуплицированный список
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...