neo4j Spatial'Spring data' - 具有相同名称但存在不同配置的索引

时间:2013-07-02 20:06:49

标签: neo4j spatial spring-data-neo4j

更新:这项工作正常,但保留此信息。我只是用'POINT'索引类型来面对这个问题。通过论坛中的帖子了解到需要添加Spatial插件。之后我就开始工作了。

请求/建议:由于在抛出异常时已知索引类型,是否也可以提供提示? 我有以下节点 - 由'位置和每个'位置'组成的'政策'包含'地址'。 “地址”也有Lat / Long来支持Spatial。

double latitude, longitude;
@Indexed(indexType = POINT, indexName = "LAT_LONG")
String wkt;
public void setLatLong(String lat, String lon){
this.latitude = Double.parseDouble(lat);
this.longitude = Double.parseDouble(lon);
this.wkt = String.format("POINT( %f %f )", longitude, latitude); }

我正在使用Spring Data,当我保存策略时 - 整个对象图被持久化。只添加了一个“政策”我收到错误 我检查了lat / longs,两个地址都不同 第一地址 - 26.716125,-80.049147 第二地址 - 25.696616,-80.256872

Caused by: java.lang.IllegalArgumentException: Index with the same name but different config exists!
at org.neo4j.rest.graphdb.index.RetrievedIndexInfo.checkConfig(RetrievedIndexInfo.java:54)
at org.neo4j.rest.graphdb.index.RestIndexManager.checkIndex(RestIndexManager.java:56)
at org.neo4j.rest.graphdb.index.RestIndexManager.forNodes(RestIndexManager.java:74)
at org.neo4j.rest.graphdb.ExecutingRestAPI.createIndex(ExecutingRestAPI.java:167)
at org.neo4j.rest.graphdb.RestAPIFacade.createIndex(RestAPIFacade.java:249)
at org.springframework.data.neo4j.rest.SpringRestGraphDatabase.createIndex(SpringRestGraphDatabase.java:108)
at org.springframework.data.neo4j.support.index.IndexProviderImpl.createIndex(IndexProviderImpl.java:93)
at org.springframework.data.neo4j.support.index.IndexProviderImpl.getIndex(IndexProviderImpl.java:70)
at org.springframework.data.neo4j.support.index.IndexProviderImpl.getIndex(IndexProviderImpl.java:110)
at org.springframework.data.neo4j.support.Neo4jTemplate.getIndex(Neo4jTemplate.java:650)
at org.springframework.data.neo4j.fieldaccess.IndexingPropertyFieldAccessorListenerFactory$IndexingPropertyFieldAccessorListener.valueChanged(IndexingPropertyFieldAccessorListenerFactory.java:77)

` 逐步调试,发现这一行导致第二次创建索引 org.springframework.data.neo4j.support.index.IndexProviderImpl

final boolean useExistingIndex = indexType == null;

0 个答案:

没有答案