• Модуль: learning
  • Путь к файлу: ~/bitrix/modules/learning/lib/integration/search.php
  • Класс: BitrixLearningIntegrationSearch
  • Вызов: Search::indexLesson
static function indexLesson($lessonId)
{
	if (!Loader::includeModule("search"))
	{
		return;
	}

	$courseId = CLearnLesson::getLinkedCourse($lessonId);
	if ($courseId !== false)
	{
		$dbCourse = CCourse::getList(
			[], ["ID" => $courseId, "ACTIVE" => "Y", "ACTIVE_DATE" => "Y"]
		);

		if (!$dbCourse->fetch())
		{
			CSearch::deleteIndex("learning", "U\_".$courseId."\_%");
			return;
		}
	}

	CSearch::deleteIndex("learning", "U\_%", "L".$lessonId, null);

	$items = static::getIndexItems($lessonId);
	foreach ($items as $item)
	{
		unset($item["ID"]); //CSearchCallback uses ID, but CSearch::index throws a MYSQL Error
		CSearch::index("learning", $item["ITEM_ID"], $item);
	}
}