Spatial4j + solr4.1 =距离(半径)搜索多边形和线串?

时间:2013-01-24 06:31:51

标签: solr spatial

我有多边形和线串工作,但似乎无法获得应用距离搜索的格式。我试图做一个搜索说在一个线串内100公里。 我的查询看起来像这样。

geo:"Intersects(LINESTRING(126.9140625 -17.644022027872722, 142.646484375 -20.46818922264095, 133.59375 -29.305561325527698, 127.0458984375 -18.62542454070125) d=1)"

返回31个结果。

当我尝试1000或10000或100000时,我得到相同的31个结果。

geo:"Intersects(LINESTRING(126.9140625 -17.644022027872722, 142.646484375 -20.46818922264095, 133.59375 -29.305561325527698, 127.0458984375 -18.62542454070125) d=10000)"

我得到相同数量的结果。我的格式是否合适?我认为最新版本解决了这个问题,我应该可以通过多边形和线串(而不仅仅是圆圈)来做距离。

1 个答案:

答案 0 :(得分:0)

Solr尚未开箱即用。 ' d'您添加的参数实际上未经过解析/观察,因此无效。为了得到你想要的东西,你需要按距离缓冲形状。事实上,最新版本的Spatial4j具有所谓的本地" BufferedLineString"形状,但它还没有完全上钩;所以你需要一些集成代码来解析它,以便使用它。 Spatial4j是Lucene-spatial使用的形状库。但即使没有它,您也可以使用JTS生成任何其他形状的缓冲多边形。