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