无法对Solr地理空间搜索结果进行排序

时间:2012-09-28 03:11:25

标签: solr lucene gis geospatial solarium

我们怎样才能让Solr 3.6.1返回地理空间搜索结果两者bbox过滤并按距离排序?

我尝试将&sort=geodist() asc附加到Solr docs中所述的网址,但我收到了错误消息:

sort param could not be parsed as a query, and is not a field that exists in the index: geodist()

使用sort&amp ;;查询网址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

使用sort(Works)查询网址

http://localhost:8080/solr/select?wt=json&indent=true
&fl=id,latlng
&q=*:*
&sfield=latlng
&pt=42.352455,-71.048069
&sort=geodist()%20asc

使用bbox(Works)查询网址

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 个答案:

答案 0 :(得分:3)

只需将您拥有的'pt'和'sfield'local-params拉出到顶级查询参数中,就像使用工作排序查询一样。你的fq只是{!bbox d = 5}