Мне нужно вставить около 1,5 миллионов документов в базу данных Elasticsearch.Я делаю это через PHP-библиотеку Elastica согласно этому примеру (пример BULK)
Я хотел бы знать, возможно ли использовать команду call $elasticaType->getIndex()->refresh();
в самом конце вставки массива иесли это безопасно и быстрее, чем звонить $elasticaType->getIndex()->refresh();
после каждой массовой отправки.Я имею в виду что-то вроде этого:
$offset = 0;
$limit = 500;
$sum = 1500000,
while( $offset < $sum )
{
$documents = [];
$rows = $sqlDatabase->getData( $offset, $limit )
foreach( $rows as $row )
{
$docData = ['name' => $row->name, 'email' => $row->email]
$documents[] = new \Elastica\Document( $data->id, $docData );
}
$elasticaType->addDocuments( $documents );
$offset += 500;
// Source example has refresh here. After every 500 items. But I wont it at the very end of the code after all 1500000 item are in the database.
// $elasticaType->getIndex()->refresh();
}
$elasticaType->getIndex()->refresh(); // This is what I want.
Можно ли вставить 1500000 документов вasticsearch и затем вызвать $elasticaType->getIndex()->refresh();
?