2017-02-21 59 views
0

我經常使用批量導入器(neo4j-import)構建和刪除整個數據集,但我經常發現標籤上的緩存計數是錯誤的。例如,MATCH (n:Label) RETURN COUNT(n)返回560,但MATCH (n:Label) WHERE EXISTS(n.attribute_all_nodes_have) RETURN COUNT(n)返回> 750,000(這是正確的數字)。標籤計數通常是錯誤的

這是特別有問題的,因爲它使某些查詢非常緩慢。例如,MATCH (a:Label1)-[r]-(b:Label2) WITH r LIMIT 5 DELETE r花了14秒。

刪除和重建數據集有時會修復此問題,但這需要很長時間(數百萬個節點)。有沒有辦法解決標籤計數問題?

僅供參考我在MacOS Sierra 10.12.3上使用Neo4j 3.1.0。

回答

1

進口後計數應是正確的,但如果他們不是總有關閉數據庫,刪除計數存儲neostore.counts.db.*和重新開始的可能性。計數將被重建,但使用導入工具用於構建計數的相同功能。

+0

工作!我不知道爲什麼它在最初的構建失敗... –

+0

這是超級奇怪的是的。與往常一樣,它會對可複製的測試用例(或在這種情況下的測試數據)超級好用:) –