Neo4j BatchInserter在重启时初始化Db

时间:2014-09-05 02:55:10

标签: neo4j spring-data-neo4j

我正在使用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;
    }

0 个答案:

没有答案