DSE图空间索引——以km为单位搜索



我正在尝试根据距离过滤具有点属性的顶点,类似于文档中使用搜索索引部分底部的示例:

通过Geo.inside()方法可以找到所有满足位于所描述的多边形距离内的传感器,该多边形距离被指定为圆心为(- 110,30),半径为20 单位的圆。

用于半径的"单位"实际上是度。我想要的是找出一定半径内的点,单位是公里。

这显然是Solr支持的,(见这里的distanceUnits),甚至在上游发行版中也是默认的。我试图将schema.xml更改为在RPT配置中设置distanceUnits=kilometers,但随后solr核心在重新加载时抛出了以下异常:

org.apache.solr.common.SolrException: Must specify units="degrees" on field types with class SpatialRecursivePrefixTreeFieldType

在DSE5中,我们运行的是solr 4.10.3.2.1133,这个版本中唯一有效的单位类型是度,我们可以从代码中看到. Units是distanceUnits的前身。与此同时,您可能会发现这很有帮助。

最新更新