Я пытаюсь создать пространственный индекс через Java API. Я использую Orient DB orientdb-enterprise-2.2.21. Выполнение тестов с использованием удаленного подключения. Я попытался создать несколько подходов. Класс и свойства были созданы.
nodeClass = graph.createVertexType(NODE_CLASS_NAME);
nodeClass.createProperty("latitude", OType.DOUBLE);
nodeClass.createProperty("longitude", OType.DOUBLE);
nodeClass.createProperty("name", OType.STRING);
nodeClass.createProperty("color", OType.STRING);
nodeClass.createProperty("location", OType.EMBEDDED);
и результаты:
Я создаю пространственный индекс несколькими способами, и все они терпят неудачу:
Случай 1 «по старинке»:
nodeClass.createIndex("Group.latitude_longitude", "SPATIAL", null, null, "LUCENE", new String[] { "latitude", "longitude" });
Полученные результаты:
Exception in thread "main" com.orientechnologies.orient.core.index.OIndexException: Index with type SPATIAL and algorithm null does not exist.
DB name="demodb"
Случай 2:
graph.command(new OCommandSQL(
"CREATE INDEX Group.location ON Group(location) SPATIAL ENGINE LUCENE")).execute();
Полученные результаты:
Exception in thread "main" com.orientechnologies.orient.core.index.OIndexException: Index with type SPATIAL and algorithm null does not exist.
DB name="demodb"
Случай 3:
OIndex<?> idx = nodeClass.getProperty("location").
createIndex(OClass.INDEX_TYPE.SPATIAL, new ODocument().field("ignoreNullValues", true));
Полученные результаты:
Exception in thread "main" com.orientechnologies.orient.core.index.OIndexException: Index with type SPATIAL and algorithm null does not exist.
DB name="demodb"
пом:
<orientdb.version>2.2.21</orientdb.version>
<tinkerpop.version>2.6.0</tinkerpop.version>
<dependency>
<groupId>com.orientechnologies</groupId>
<artifactId>orientdb-graphdb</artifactId>
<version>${orientdb.version}</version>
</dependency>
<dependency>
<groupId>com.orientechnologies</groupId>
<artifactId>orientdb-spatial</artifactId>
<version>${orientdb.version}</version>
</dependency>
<dependency>
<groupId>com.orientechnologies</groupId>
<artifactId>orientdb-lucene</artifactId>
<version>${orientdb.version}</version>
</dependency>
<dependency>
<groupId>com.tinkerpop.gremlin</groupId>
<artifactId>gremlin-groovy</artifactId>
<version>${tinkerpop.version}</version>
</dependency>
<dependency>
<groupId>com.tinkerpop.gremlin</groupId>
<artifactId>gremlin</artifactId>
<version>${tinkerpop.version}</version>
</dependency>
У кого-нибудь есть предложения? Столкнулся с таким же поведением с orientdb-community-2.2.21.