and*_*xus 5 search solr distance geospatial
我正在玩新的Solr 4地理空间搜索.就像http://wiki.apache.org/solr/SolrAdaptersForLuceneSpatial4中的一个例子一样,我试图得到如下结果:
http://localhost:8983/solr/allopenhours/select?
&q=foobar
&fq=geo:%22Intersects(Circle(54.729696,-98.525391%20d=0.08992))%22
&q={!%20score=distance}
&fl=*,score
Run Code Online (Sandbox Code Playgroud)
但它不起作用.如何在结果集中获取距离和得分字段?
根据参考空间搜索 - 返回距离,您可以编辑字段参数以执行以下操作之一:
&fl=*,score,geodist()&fl=*,score,_dist_:geodist() - 这个将返回别名中的距离 _dist_小智 5
佩奇给出的答案是正确的。但是,错误的显示取决于给出的查询。
Error parsing fieldname: geodist - not enough parameters:[]
geodist 需要sfield(保存文档中位置的字段)和 a pt(圆的中心点)。如果找不到其中任何一个,它将抛出所示的错误。
将这两个添加到 URL 中
&pt=52.373,4.899&sfield=store&fl=_dist_:geodist()
Run Code Online (Sandbox Code Playgroud)
或者将这两个(或者实际上是 3:和pt)添加到函数调用中:latlongeodist()
&fl:_dist_:geodist(store,52.373,4.899)
Run Code Online (Sandbox Code Playgroud)
请注意,在第一种情况下,如果您geofilt的查询中有其他地理函数(例如 ),则pt和sfield也用于此目的(除非本地覆盖)
| 归档时间: |
|
| 查看次数: |
7286 次 |
| 最近记录: |