1

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

查询可以找到满足在所描述的多边形内距离要求的所有传感器,该距离被指定为圆心在 (-110, 30) 和半径为 20 个单位的圆,使用方法 Geo.inside()。

用于半径的“单位”实际上是度数。我想要的是找到以公里为单位的一定半径内的点。

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

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

4

1 回答 1

2

在 DSE5 中,我们运行的是 solr 4.10.3.2.1133,这里唯一有效的 Units 类型是 degree,我们可以从代码中看到 。Units 是 distanceUnits 的前身。同时,您可能会发现很有帮助。

于 2016-08-11T05:26:14.383 回答