我是 Mongo 和 Elasticsearch 的新手,我遇到了问题。
我将 Mongo 的集合移动到 ES 索引。收集的文件有 3000 万份。最初,该脚本快速移动了 1500 万个文件,并且没有中断。1500万后,“500内部错误”出现的频率更高。在 PHP 脚本的帮助下,我能够移动 2800 万个文件,之后我得到“500 内部错误”。错误日志为空。PHP 的内存限制设置为 1.2 GB,我无法放大它。
出现错误的脚本片段如下所示:
$db->createCollection($collectionName);
$collection = new MongoCollection($db, $collectionName);
$cursor = $collection->find()->skip($nextPortion)->limit($pageing);
while ($value = $cursor->getNext())
{
...........
make JSON
...........
}
脚本无法通过此行。在这一行中,我收到服务器错误:
while ($value = $cursor->getNext())
我在 ES 中使用批量 API 移动文件。
除了增加 PHP 的内存之外,还有什么方法可以完成文件的移动?
谢谢您的帮助。