如何添加到 OrientDB 中的空间索引?

How do I add to a spatial index in OrientDB?

我正在使用工作室的 OrientDB 2.0。我使用文档中的代码成功创建了 Lucene 空间索引:

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

然后我用 latitudelongitude 创建了一些 Place 个对象。

当我尝试使用记录的格式进行空间搜索时

select from Class where [<lat-field>,<long-field>] NEAR [<x>,<y>]

搜索完成且没有错误,但 returns 没有结果,即使我传入了 Place 个对象之一的精确坐标。

我也试过直接使用

查询索引

select from index:Place.l_lon

同样成功,没有错误,但没有返回任何结果。我在想我的索引可能是空的。我尝试从模式编辑器重建它,但仍然没有结果。此外,据我所知,无法手动将位置坐标等复合条目添加到索引中。我错过了什么吗?

尝试用语法指定最大距离

select  from Class where [<lat-field>,<long-field>,$spatial] NEAR [<x>,<y>,{"maxDistance": distance}]