Невозможно отсортировать результаты Solr Geospatial search
Как мы можем сделать так, чтобы Solr 3.6.1 возвращал результаты геопространственного поиска, отфильтрованные по bbox
и отсортировано по расстоянию?
Я пытался добавить &sort=geodist() asc
на URL, как указано в документации Solr, но я получаю сообщение об ошибке:
sort param could not be parsed as a query, and is not a field that exists in the index: geodist()
URL запроса с sort & bbox (НЕ работает)
http://localhost8080/solr/select?wt=json&indent=true
&q=*:*
&fl=id,latlng
&fq={!bbox%20pt=42.352455,-71.048069%20sfield=latlng%20d=5}
&sort=geodist() asc
URL запроса с сортировкой (Работает)
http://localhost:8080/solr/select?wt=json&indent=true
&fl=id,latlng
&q=*:*
&sfield=latlng
&pt=42.352455,-71.048069
&sort=geodist()%20asc
URL запроса с bbox (Работает)
http://localhost8080/solr/select?wt=json&indent=true
&q=*:*
&fl=id,latlng
&fq={!bbox%20pt=42.352455,-71.048069%20sfield=latlng%20d=5}
Как я могу иметь оба bbox
фильтрация и сортировка результатов по расстоянию (geodist()
)?
1 ответ
Решение
Просто извлеките локальные параметры "pt" и "sfield", которые у вас есть, в параметры запроса верхнего уровня, как вы это делали с рабочим запросом сортировки. Ваш fq будет просто {! Bbox d=5}