(neo4j)是否可以通过Cypher,REST或Webadmin控制台从索引中删除节点?

时间:2013-08-29 09:48:11

标签: neo4j cypher

引用这两个stackoverflow问题:

  1. Delete old nodes and relationships with Cypher in Neo4j 1.9
  2. Deleting indexed nodes in Neo4j
  3. 我有一个图表,其中索引中的多个节点不正确。我认为这是因为使用Cypher或使用Webadmin控制台上的Delete按钮删除了节点,而没有意识到这也不会从它所在的任何索引中删除节点。

    结果是,对于使用这些索引作为起始节点的查询,现在正在错误地返回这些节点。

    是否可以使用Cypher,REST API或Webadmin控制台从索引中删除节点?

    或者我将不得不编写一些自定义Java(我正在使用嵌入式模式),它具有以下功能:

    Iterable<Node> offendingNodes;
    Iterable<Index<Node>> allIndexes;
    for(Node offendingNode : offendingNodes) {
        for(Index<Node> index : allIndexes) {
            index.remove(offendingNode);
        }
    }
    // Now re-index offendingNodes correctly
    

1 个答案:

答案 0 :(得分:4)

您可以使用REST删除索引中的节点,如下所示:

DELETE http:// [地址]:[port] db / data / index / node / [indexname] / [nodeid]

REST API - Indexes