• Модуль: disk
  • Путь к файлу: ~/bitrix/modules/disk/lib/search/reindex/extendedindex.php
  • Класс: BitrixDiskSearchReindexExtendedIndex
  • Вызов: ExtendedIndex::processWithStatusExtended
static function processWithStatusExtended()
{
	if (!Configuration::allowIndexFiles() || !Configuration::allowUseExtendedFullText())
	{
		return ExtendedIndex::class . "::processWithStatusExtended();";
	}

	$portion = 30;
	$maxExecutionTime = 10;
	$startTime = time();

	$rows = ObjectExtendedIndexTable::getList([
		'select' => ['OBJECT_ID'],
		'filter' => [
		  '=STATUS' => ObjectExtendedIndexTable::STATUS_SHORT,
		],
		'limit' => $portion,
		'order' => ['UPDATE_TIME' => 'DESC']
	]);

	$indexManager = Driver::getInstance()->getIndexManager();
	foreach ($rows as $row)
	{
		if (time() - $startTime > $maxExecutionTime)
		{
			break;
		}

		$baseObject = BaseObject::loadById($row['OBJECT_ID']);
		if (!$baseObject)
		{
			ObjectExtendedIndexTable::delete($row['OBJECT_ID']);
		}

		if ($baseObject instanceof Folder)
		{
			$indexManager->indexFolderWithExtendedIndex($baseObject);
		}
		elseif ($baseObject instanceof File)
		{
			$indexManager->indexFileWithExtendedIndex($baseObject);
		}
	}

	return ExtendedIndex::class . "::processWithStatusExtended();";
}