2017-02-21 4 views
0

Ich regelmäßig erstellen und löschen ganze Datensätze mit dem Batch-Importer (neo4j-import), aber ich finde oft, dass die zwischengespeicherten zählt auf Etiketten falsch sind. Beispiel: MATCH (n:Label) RETURN COUNT(n) gibt 560 zurück, aber MATCH (n:Label) WHERE EXISTS(n.attribute_all_nodes_have) RETURN COUNT(n) gibt> 750.000 zurück (was die richtige Nummer ist).Label-Zählungen sind oft falsch

Dies ist besonders problematisch, weil es bestimmte Abfragen sehr langsam macht. Zum Beispiel dauerte MATCH (a:Label1)-[r]-(b:Label2) WITH r LIMIT 5 DELETE r 14 Sekunden.

Das Löschen und erneute Erstellen des Datasets behebt dies manchmal, aber das dauert lange (10 Millionen von Knoten). Gibt es eine Möglichkeit, die Anzahl der Etiketten zu korrigieren?

FYI Ich bin auf Neo4j 3.1.0 auf MacOS Sierra 10.12.3.

Antwort

1

Die Zählungen nach einem Import sollte korrekt sein, aber wenn sie die Möglichkeit herunterzufahren db nicht, dass es immer, löschen die Zählungen neostore.counts.db.* speichern und neu starten. Die Zählungen werden neu erstellt, wobei jedoch die gleiche Funktionalität verwendet wird, mit der das Import-Tool die Zählungen erstellt.

+0

Das funktioniert! Ich frage mich, warum es beim ersten Build scheitert ... –

+0

Das ist super komisch ja. Wie immer wäre es super mit einem reproduzierbaren Testfall (oder in diesem Fall Testdaten) :) –