我正在使用Neo4j BatchInserters在db中插入节点。我使用LuceneBatchInserterIndexProvider作为索引。我有多个文件来自我导入数据的位置。我想如果我的进程中断,那么我应该能够从下一个文件重启进程。但每当我重新启动进程时,它会在图形文件夹和新索引中创建新的db。我的初始化代码看起来像这样。
Map<String, String> config = new HashMap<String, String>();
config.put("neostore.nodestore.db.mapped_memory", "2G");
config.put("batch_import.keep_db", "true");
BatchInserter db = BatchInserters.inserter("ttl.db", config);
BatchInserterIndexProvider indexProvider = new LuceneBatchInserterIndexProvider(
db);
index = indexProvider.nodeIndex("ttlIndex",
MapUtil.stringMap("type", "exact"));
index.setCacheCapacity(URI_PROPERTY, indexCache + 1);
有人可以帮忙吗?
提供更多详情。我有多个文件(大约400个),我想导入到Neo4j。 我想把我的过程分成几批。每批我想重启过程。 我使用neo4j批量插入器配置batch_import.keep_db =“true”。这不会清除图形,但在重新启动索引器丢失信息后。我有这种方法来检查节点是否存在。我确信在重启之前我已经创建了节点。
private Long getNode(String nodeUrl)
{
IndexHits<Long> hits = index.get(URI_PROPERTY, nodeUrl);
if (hits.hasNext()) { // node exists
return hits.next();
}
return null;
}