MongoDBには大きなコレクション(〜25M)があり、その中のすべてのドキュメントをElasticSearchで索引付けしたいと考えています。マングースのコードで私のNodeJSでElasticsearchを使用したMongoDBの大規模なコレクションの索引
は、私は次のことをやっている:私はそれが個別に各ドキュメントのインデックスを作成するよりも優れていると思うので
thebody = [];
Model
.find({})
.stream()
.on('data', function(doc){
thebody.push({index: {_index: index, _type: type, _id: doc._id}});
thebody.push(doc);
})
.on('close', function() {
client.bulk({
body: thebody
});
})
私はbulk
関数を使用します。しかし、これはメモリの問題を引き起こします(大きな配列thebody
のため)。
各要素を個別に索引付けする方がよいですか?誰もがより良い解決策を知っていますか? (私のESバージョンが2.2なので川を使うことはできません)
ありがとうございます!私はこれが私の選択だと思う。しかし、ESの大きなコレクションのインデックスを作成する唯一の方法はありますか?私は川の運転手のような他の選択肢、またはスフィンクスやソルよりも似たような方法は驚いています。 –