• Модуль: disk
  • Путь к файлу: ~/bitrix/modules/disk/lib/search/reindex/headindex.php
  • Класс: BitrixDiskSearchReindexHeadIndex
  • Вызов: HeadIndex::processStep
protected function processStep($lastId)
{
	$objectRows = ObjectTable::getList([
		'select' => ['*'],
		'filter' => [
			'>ID' => $lastId,
		],
		'order' => ['ID' => 'ASC'],
		'offset' => 0,
		'limit' => $this->getPortionSize(),
	]);

	$indexManager = Driver::getInstance()->getIndexManager();
	$indexManager
		->disableUsingSearchModule()
		->disableUsingExtendedFullText()
	;

	$lastId = null;
	$steps = 0;
	foreach ($objectRows as $objectRow)
	{
		$object = BaseObject::buildFromArray($objectRow);
		if ($object instanceof Folder)
		{
			$indexManager->indexFolder($object);
		}
		elseif ($object instanceof File)
		{
			$indexManager->indexFile($object);
		}

		$lastId = $objectRow['ID'];
		$steps++;
	}
	$indexManager->initDefaultConfiguration();

	return [
		'lastId' => $lastId,
		'steps' => $steps
	];
}