2012-11-27 85 views
5

在Neo4j中,如果我删除索引节点,是否必须先从索引中删除该节点,或者索引是否会自动更新?在Neo4j中删除索引节点

这里是一个小的(未经测试)例如:

val index = graphDb.index() 
val someIdx = index.forNodes("someIdx") 
val someNode = graphDb.createNode() 
someIdx.add(someNode, "key", "value") 

然后:

//remove from someIdx??? 
someNode.delete() 

回答

9

当你删除一个节点,你必须先删除索引。如果要从索引中删除所有节点的提及,请参阅下面的内容:

IndexManager indexManager = db.index(); 
    Index<Node> index = indexManager.forNodes("indexName"); 
    index.remove(node); 
+0

当您尝试通过索引查询获取已删除节点时会发生什么? – fynn

+0

你会得到一个异常,我不能引用确切的异常,但是这是关于你试图访问不再存在的节点的东西。 – Nicholas

+0

Thx求助... – fynn