Я начинаю думать, что то, что я хочу сделать, невозможно, но я думал, что попробую.Solr вычислить расстояние при использовании dismax
Я бегу Solr 3.5.
Я в настоящее время есть два типа поиска:
- Основной пространственный запрос, который возвращает вычисляемое расстояние между двумя точками в поле баллов.
Образец запроса из моих журналов Solr:
?fl=*,score&sort=score+asc&start=0&q={!func}geodist()&sfield=coordinates&pt=59.2363514,18.092783&version=2
- dismax запрос, который позволяет бесплатные текстовые запросы на ряде областей.
Пример запроса из журнала Solr:
mm=1&d=100.0&sfield=coordinates&qf=field1^5.0+fields2^3.0&defType=edismax&version=2&fl=*,score&start=1&q=monkeyhopper&pt=59.2363514,18.0927830000&fq={!geofilt}}
Я хочу, чтобы заменить мой первый запрос с запросом dismax, но мне действительно нужно, чтобы получить расчетное расстояние в ответ. Да, я могу запрограммировать дистанцию, но я бы предпочел не делать этого, поскольку Солр сделал это для меня уже.
Я по-прежнему хочу, чтобы иметь возможность сортировать мой smax-запрос «по релевантности», расстояние или любое другое поле, поэтому оценка, полученная моими повышениями, может быть интересной для сортировки, но мне не нужно ее возвращать.
Спасибо, учитывая, что Solr 4 стабилен, теперь я приму это как решение :) – polythene