neostore。*删除数百万个节点后的文件大小

时间:2014-02-07 10:28:26

标签: neo4j

我使用neo4j 1.9.4,我存储28M节点,267M属性和157M关系。

neostore。*文件:

-rw-r - r-- 1用户轮109619649597fév09:58 neostore.propertystore.db
-rw-r - r-- 1用户轮51857646067fév09:58 neostore.relationshipstore.db
-rw-r - r-- 1用户轮35507601927fév09:58 neostore.propertystore.db.strings
-rw-r - r-- 1用户轮2496582367fév09:58 neostore.nodestore.db

我删除26M节点和neostore。*不是reduce:

-rw-r - r-- 1用户轮109619649797fév10:20 neostore.propertystore.db
-rw-r - r-- 1用户轮51857646307fév10:20 neostore.relationshipstore.db
-rw-r - r-- 1用户轮35507602187fév10:20 neostore.propertystore.db.strings
-rw-r - r-- 1用户轮2496582527fév10:20 neostore.nodestore.db

我从'ticket'索引中删除所有节点,lucene index / index / lucene / node / ticket文件夹为空 当我计算所有门票节点时,我得到0 - >行

为什么neostore。*文件大小不减少?

此处删除代码=

EndResult<Ticket> tickets = ticketRepository.findByDate(date); // by 1000
Iterator<Ticket> itTicket = tickets.iterator(); 

  while (itTicket.hasNext()) { 

 Ticket t = itTicket.next(); 
 Node n = neo4jTemplate.getGraphDatabase().getNodeById(t.getId()); 
 neo4jTemplate.getIndex("Ticket").remove(n); 

 Iterable<Relationship> relationships = n.getRelationships(); 

  for (Relationship relationship : relationships) { 

    relationship.delete(); 
 }
 n.delete(); 

 }
你能帮帮我吗? 查尔斯 问候

1 个答案:

答案 0 :(得分:1)

实际上,删除节点后,nodestore不会立即压缩。相反,如果您创建新节点,他们将在nodestore中回收先前删除的域。