0

我有多边形和线串工作,但似乎无法获得对这些搜索应用距离的格式。我试图在一个线串内进行 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)"

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

4

1 回答 1

0

Solr 还没有开箱即用地做到这一点。您添加的 'd' 参数实际上并未被解析/观察,因此它没有效果。为了得到你想要的,你需要按距离缓冲形状。碰巧最新版本的 Spatial4j 具有所谓的原生“BufferedLineString”形状,但还没有完全融入;所以你有一些集成代码来解析它,以便使用它。Spatial4j 是 Lucene-spatial 使用的形状库。但即使没有,您也可以使用 JTS 生成任何其他形状的缓冲多边形。

于 2013-10-31T18:48:46.233 回答