Невозможно отсортировать результаты 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}

Другие вопросы по тегам