1

「batchimport」を使用して、neo4jサーバーに大きなデータセットを追加しています

BatchInserterIndex someIndex = indexProvider.nodeIndex( "some_index"、MapUtil.stringMap( "type"、 "exact"));

    /** Looping large dataset */
    for (..) {

        Map<String, Object> testMap //Map with various properties    
        long id  = inserter.createNode(testMap);
        someIndex.add(id, testMap);
    }

約400kのエントリの後、私のコードは例外「java.lang.OutOfMemoryError:Javaヒープスペース」をスローします。

インデックスを使用していないときは完全に機能します。時々インデックスをフラッシュしようとしましたが、改善はありません。

インデックスを使用しながら、大きなデータセットを追加するにはどうすればよいですか?私がどこで間違ったのか考えていますか?

4

1 に答える 1

1

ヒープがそれほど大きくない場合、lucene インデックスのバッチ コミット サイズが大きすぎるという問題が発生する可能性があります。デフォルトは 500,000 値です。残念ながら、パブリック API から変更することはできません。バージョン 1.9 用にこのバッチ サイズを構成できるものを取得しようとします。

于 2012-12-09T20:55:33.137 に答える