Регистрация
Регистрируясь, вы подтверждаете свое согласие с соглашением об использовании персональных данных.
Восстановление пароля

Модуль поиска выводит левые данные

14.12.2012, 05:06
Пупкин Василий

Зарегистрирован:
2012-12-14
Сообщений: 11

Можно ли очистить "кэш" модуля поиска? Раньше была ненужная информация в таблицах - забыли удалить все неиспользуемые компоненты (в бд остались левые данные стандартных магазинов и т.д.), в итоге всё это проиндексировалось и при поиске затем вылетало с ошибкой "Catalog with id 2 does not exist" (файл /persistent/collection.php, функция select_from_database(), нижний foreach).

После удаления компонентов, и переиндексации таблица Search_Document наконец-то приняла нормальный вид и ошибка исчезла. Но поиск так и продолжает работать непостежимым образом, пытается из этой же таблицы извлечь данные, которых там давно уже нет -

Код:
SELECT `Document_ID`, `Catalogue_ID`, `Path`, `Title`, `Content`, `ContentType`, `Language`, `LastModified`, `Meta` FROM `Search_Document` WHERE `Document_ID` IN (477, 478, 479, 480, 481, 503, 482, 498, 500, 501) ORDER BY FIELD(`Document_ID`, 477, 478, 479, 480, 481, 503, 482, 498, 500, 501)


В этой таблице после индексации всего 26 записей, Document_ID = 1...26. Далее происходит следующее - запрос данных не возвращает, а количество найденых элементов - 47 и пагинатор переключает туда-сюда пустую страницу.

Вопрос номер два. Переиндексация, которая на кроне, автоматом удаляет всё, что было проиндекстровано ранее ("Проиндексировано документов: 0, удалено документов: 26, проверено ссылок: 0.") и соответственно поиск уже ничего не ищет, приходится снова вручную из админки переиндексировать.

Забыл добавить - версия 5.02

p.s. Обновлено. Очищена папка /netcat_files/Search/Lucene/ + переиндексация и пустышки исчезли.

p.s. Обновлено. Проблема номер 2 тоже решена. В настройках сайта был неуказан домен, поэтому при автоматической индексации всё ранее проиндексированное вручную удалялось.
198 196 12800
Описание проекта