2016-08-09 6 views
1

Я пытаюсь фильтровать вершины со свойствами точек на основе расстояния, аналогичные пример в нижней части Using search indexes сечения документации:DSE Graph пространственные индексы - поиск с km?

Запрос может найти все датчики, которые отвечают требования бытия внутри описанное многоугольное расстояние, обозначенное как окружность с центром в (-110, 30) и радиусом 20 единиц с использованием метода Geo.inside().

«Единицы», используемые для радиуса, фактически являются градусами. Я хотел бы найти точки в пределах определенного радиуса в километрах.

Это, по-видимому, поддерживается Solr (см. distanceUnitshere) и даже по умолчанию используется в дистрибутиве. Я пытался изменить schema.xml установить distanceUnits=kilometers в конфигурации для ОФП, но ядро ​​Solr бросил следующее исключение на перезагрузкой:

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

ответ

2

В DSE5 мы бежим Solr 4.10.3.2.1133 here единственным действительным тип для единиц в этой версии - это градусы, как мы видим из code . Единицы были предшественником расстояния. Тем временем вы можете найти this полезным.