Я использую OrientDB 2.0 из студии. Я создал пространственный индекс Lucene успешно, используя код из документации:Как добавить к пространственному индексу в OrientDB?
CREATE class Place extends V
CREATE property Place.name string
CREATE property Place.latitude double
CREATE property Place.longitude double
CREATE INDEX Place.l_lon ON Place(latitude,longitude) SPATIAL ENGINE LUCENE
Затем я создал некоторые Place
OBJ ects с latitude
и longitude
.
Когда я пытаюсь сделать пространственный поиск, используя документированный формат
select from Class where [<lat-field>,<long-field>] NEAR [<x>,<y>]
поиска завершается без ошибок, но не возвращает никаких результатов, даже когда я прохожу в точных координатах одного из Place
объектов.
Я также попытался запрашивая индекс непосредственно с помощью
select from index:Place.l_lon
который также удалось без ошибок, но не дал результатов. Я думаю, что мой индекс может быть пустым. Я попытался перестроить его из редактора схем, но результата все равно не получилось. Кроме того, насколько я могу судить, нет возможности вручную добавлять составные записи, такие как координаты местоположения, к индексу. Я что-то упускаю?
Это работало. Интересно, есть ли какие-либо последствия для производительности из разных подходов. – birikino