У меня есть две схемы solr. Один для items
и один для geolocation
предметов. Я хочу сортировать предметы по расстоянию, сначала с ближайшими пунктами. Items
схема имеет product_id,city_id,etc,etc
и geolocation
схема имеет city_id,name,lat_lon
полей. Мое требование - показать результаты, которые меньше d
километров от пользователя cityId
. Я могу получить все идентификаторы городов, которые находятся в d
км от диапазона geolocation
, используя фильтр bbox, а затем отсортируйте по расстоянию с помощью функции geodist()
, а затем передайте этот список идентификаторов в виде запроса фильтра к схеме элементов. Но я также хочу, чтобы элементы отображались в том же порядке, что и id городов.Сортировка Solr Документы на основе другого массива
Как и в MySql: выберите * из пунктов, где CITY_ID в (58748,15741) ORDER BY поля (CITY_ID, 15741,58748)
Есть ли решение для достижения этой цели в Solr?