1

更新:得到这个工作,但保持这个帖子完好无损。我只在使用“POINT”索引类型时遇到了这个问题。通过论坛发帖得知需要添加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,当我保存策略时 - 整个对象图都被持久化了。只添加了一个“策略”我收到错误我检查了纬度/经度并且它们对于两个地址都不同第一个地址 - 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;
4

0 回答 0