
Обслуживание
Инструменты для обслуживания и оптимизации mFilter.
Операции
Переиндексация
Пересоздаёт индексы и кэш фильтрации.
Когда использовать:
- После массового импорта товаров
- После изменения структуры опций
- При проблемах с counts (suggestions)
Действие:
Обслуживание → ПереиндексироватьОчистка кэша
Удаляет кэш результатов фильтрации.
Когда использовать:
- После изменения настроек
- При обновлении компонента
- При некорректных результатах
Действие:
Обслуживание → Очистить кэшРегенерация слагов
Пересоздаёт слаги для всех значений фильтров.
Когда использовать:
- При изменении правил транслитерации
- После миграции данных
Действие:
Обслуживание → Регенерировать слагиПерестроение роутера
Обновляет кэш URL-роутера.
Когда использовать:
- После изменения паттернов
- После изменения привязок наборов
Действие:
Обслуживание → Перестроить роутерСтатистика
Общая информация
| Показатель | Описание |
|---|---|
| Наборы фильтров | Количество активных наборов |
| Привязки | Количество привязок к ресурсам |
| Слаги | Общее количество слагов |
| SEO шаблоны | Количество шаблонов |
| Словоформы | Количество словоформ |
Кэш
| Показатель | Описание |
|---|---|
| Записей в кэше | Количество закэшированных результатов |
| Размер кэша | Объём данных |
| Истёкших записей | Записи с истёкшим сроком |
Автоматическое обслуживание
Очистка устаревшего кэша
Автоматически выполняется через cron или при первом запросе:
php
// Плагин на OnWebPageInit или cron-скрипт
$mfilter = $modx->services->get('mfilter');
$mfilter->cleanExpiredCache();Настройки кэша
| Настройка | Описание |
|---|---|
mfilter.cache_enabled | Включить кэширование |
mfilter.cache_ttl | Время жизни кэша (секунды) |
Диагностика
Проверка индексов
Убедитесь, что все необходимые индексы существуют:
sql
SHOW INDEX FROM modx_mfl_slugs;
SHOW INDEX FROM modx_mfl_cache;Проверка конфигурации
php
$mfilter = $modx->services->get('mfilter');
// Проверить загрузку сервисов
$filter = $mfilter->getFilter();
$slugManager = $mfilter->getSlugManager();Логирование
Включите отладку для диагностики:
Система → Системные настройки → mfilter.debug = ДаЛоги пишутся в core/cache/logs/error.log.
Резервное копирование
Экспорт данных
Перед обслуживанием рекомендуется сделать бэкап:
sql
-- Наборы фильтров
SELECT * FROM modx_mfl_filter_sets INTO OUTFILE '/tmp/filter_sets.csv';
-- Слаги
SELECT * FROM modx_mfl_slugs INTO OUTFILE '/tmp/slugs.csv';
-- SEO шаблоны
SELECT * FROM modx_mfl_seo_templates INTO OUTFILE '/tmp/seo_templates.csv';Импорт данных
sql
LOAD DATA INFILE '/tmp/filter_sets.csv' INTO TABLE modx_mfl_filter_sets;Оптимизация производительности
Рекомендации
- Используйте кэш — включите
mfilter.cache_enabled - Настройте TTL — оптимальное время жизни 3600-86400 сек
- Индексы БД — убедитесь в наличии всех индексов
- Очищайте регулярно — удаляйте устаревший кэш
Мониторинг
php
// Включить профилирование
$modx->setOption('mfilter.profile', true);
// После запроса проверить время
$mfilter = $modx->services->get('mfilter');
$profile = $mfilter->getProfiler()->getReport();