2012-11-27 9 views
5

W Neo4j, jeśli usunę indeksowany węzeł, czy muszę najpierw usunąć ten węzeł z indeksu, czy indeks zostanie automatycznie zaktualizowany?Usuwanie węzłów indeksowanych w Neo4j

Oto mały (niesprawdzone) przykład:

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

A potem:

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

Odpowiedz

9

Po usunięciu węzła, trzeba usunąć indeks pierwszego. Jeśli chcesz usunąć wszystkie wzmianki o węźle z indeksu, zobacz poniżej:

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

Co stanie się, gdy spróbujesz uzyskać usunięty węzeł za pomocą zapytania indeksu? – fynn

+0

Otrzymujesz wyjątek, nie mogę podać dokładnego, ale jest to coś, co próbujesz uzyskać dostęp do węzła, który już nie istnieje. – Nicholas

+0

Thx o pomoc ... – fynn