1

これらの2つのstackoverflowの質問を参照してください:

  1. Neo4j 1.9 で古いノードと Cypher との関係を削除する
  2. Neo4j でインデックス付きノードを削除する

多数のノードがインデックスに正しくないグラフがあります。Deleteこれは、Cypher またはWebadmin コンソールのボタンを使用してノードが削除されたために発生したと思いますが、これによりノードが含まれていたインデックスからもノードが削除されないことを認識していません。

その結果、開始ノードにこれらのインデックスを使用するクエリに対して、これらのノードが正しく返されなくなりました。

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
4

1 に答える 1

4

次のように、REST を使用してインデックスからノードを削除できます。

DELETE http://[アドレス]:[ポート]db/data/index/node/[インデックス名]/[ノードID]

REST API - インデックス

于 2013-08-29T09:57:18.613 に答える