Документация для разработчиков
Темная тема

ReIndexAll

Описание и параметры

mixed
CSearch::ReIndexAll( bool bFull = false, int max_execution_time = 0, array NS = Array(), bool clear_suggest = false );

Метод пошаговой переиндексации. Для того, чтобы модуль был переиндексирован, он должен предоставить соответствующий метод, который должен быть зарегистрирован в системе событий как обработчик события OnReIndex модуля "search". Метод статический.

На завершение работы метода срабатывает или время или "шаг", смотря что раньше "закончится".

Примечание: метод использует внутреннюю транзакцию. Если у вас используется MySQL и InnoDB, и ранее была открыта транзакция, то ее необходимо закрыть до подключения метода.

Параметры метода

Параметр Описание С версии
bFull Если равен true, то на первом шаге поисковый индекс будет полностью очищен. По умолчанию равен false, что приводит к перестройке индекса только тех элементов, содержимое которых изменилось.
max_execution_time Если задан и больше нуля, то как только время выполнения метода превысит значение этого параметра выполнение метода завершится. Данные для начала следующего шага будут возвращены как результат работы метода. 3.0.6
NS Хранит состояние процесса индексации (прогресс) на начало шага. 3.0.6
clear_suggest Удаляет историю/статистику подсказок для строки поиска. Необязательный параметр, по умолчанию принимает значение false. 8.6.3

Возвращаемое значение

Метод возвращает массив, если требуется вызвать метод еще раз. Или число проиндексированных элементов, если переиндексация завершена.

Смотрите также

Примеры использования

<?
//Этот пример не является примером пошаговой индексации.
//Для этого надо вызывать метод ReIndexAll только один раз за запуск скрипта.
//А промежуточное состояние (NS) можно сохранять например в файле.

$NS = false;
$NS = CSearch::ReIndexAll(false, 60, $NS);
while(is_array($NS))
$NS = CSearch::ReIndexAll(false, 60, $NS);
echo $NS;

?>


© «Битрикс», 2001-2024, «1С-Битрикс», 2024