Neo4j Spatial:提供的索引配置不';不匹配存储的配置

Neo4j Spatial:提供的索引配置不';不匹配存储的配置,neo4j,Neo4j,我使用的是空间为0.9的Neo4j 1.8.2 当我尝试获取已包含索引的现有图形上的空间索引句柄时,出现以下异常: 线程“main”java.lang.IllegalArgumentException中的异常:提供的索引配置: {geometry_type=point,lon=lon,provider=spatical,lat=lat} 未以有效方式匹配存储的配置: {geometry_type=point,lon=lon,provider=spatical,lat=lat} 对于“testsp

我使用的是空间为0.9的Neo4j 1.8.2

当我尝试获取已包含索引的现有图形上的空间索引句柄时,出现以下异常:

线程“main”java.lang.IllegalArgumentException中的异常:提供的索引配置: {geometry_type=point,lon=lon,provider=spatical,lat=lat} 未以有效方式匹配存储的配置: {geometry_type=point,lon=lon,provider=spatical,lat=lat} 对于“testspatial” 位于org.neo4j.kernel.IndexManagerImpl.assertConfigMatches(IndexManagerImpl.java:156) 位于org.neo4j.kernel.IndexManagerImpl.findIndexConfig(IndexManagerImpl.java:137) 位于org.neo4j.kernel.IndexManagerImpl.getOrCreateIndexConfig(IndexManagerImpl.java:198) 位于org.neo4j.kernel.IndexManagerImpl.getOrCreateNodeIndex(IndexManagerImpl.java:301) 位于org.neo4j.kernel.IndexManagerImpl.forNodes(IndexManagerImpl.java:289) 在TestSpatialIndexFetch.createSpatialIndex(TestSpatialIndexFetch.java:22) 位于TestSpatialIndexFetch.main(TestSpatialIndexFetch.java:18) 在sun.reflect.NativeMethodAccessorImpl.invoke0(本机方法)处 位于sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) 在sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)中 位于java.lang.reflect.Method.invoke(Method.java:597) 位于com.intellij.rt.execution.application.AppMain.main(AppMain.java:120)

如果删除数据库,则索引创建成功。如果我现在使用这个数据库来获取索引,它将失败

有什么想法吗

样本测试代码:

public class TestSpatialIndexFetch {

    public static void main(String[] args) {
        EmbeddedGraphDatabase db = new EmbeddedGraphDatabase("c://neo4jdbs//testindex");
        registerShutdownHook(db);
        Index<Node> index = createSpatialIndex(db, "testspatial");
    }

    private static Index<Node> createSpatialIndex(EmbeddedGraphDatabase db, String indexName) {
        return db.index().forNodes(indexName, SpatialIndexProvider.SIMPLE_POINT_CONFIG);
    }

    private static void registerShutdownHook( final GraphDatabaseService graphDb )
    {
        Runtime.getRuntime().addShutdownHook( new Thread()
        {
            @Override
            public void run()
            {
                graphDb.shutdown();
            }
        } );
    }
}
公共类TestSpatialIndexFetch{
公共静态void main(字符串[]args){
EmbeddedGraphDatabase db=新的EmbeddedGraphDatabase(“c://neo4jdbs//testindex”);
寄存器SHUTDOWHOOK(db);
索引索引=createSpatialIndex(db,“testspatial”);
}
私有静态索引createSpatialIndex(EmbeddedGraphDatabase db,String indexName){
返回db.index().forNodes(indexName,SpatialIndexProvider.SIMPLE\u POINT\u CONFIG);
}
专用静态无效寄存器shutdownhook(最终图形DatabaseService graphDb)
{
Runtime.getRuntime().addShutdownHook(新线程()
{
@凌驾
公开募捐
{
graphDb.shutdown();
}
} );
}
}


问题93:

1.8.2的此修复程序不适用于1.9。我在这里下载了neo4j spatial插件:对于0.11-neo4j-1.9版本,当我尝试使用REST api创建空间索引时,问题标题中出现了相同的错误,如下所示:。