new

mSearch

Полнотекстовый поиск с морфологическим анализом для MODX Revolution 3.x.
Автор дополнения
Николай Савин
Пакетов
18
Закачек
32 312
Обычно отвечает в течение суток
Автор дополнения
Пакетов
18
Закачек
32 312
Обычно отвечает в течение суток
Версия 1.2.0-beta
Дата выпуска 12.04.2026
Загрузки 30
Просмотры 687
Внимание, этот компонент требует PHP 8.1 или выше!
Внимание, этот компонент требует MODX 3 или выше.
Возможности

  • Морфологический анализ — поиск по словоформам с помощью библиотеки phpMorphy (русский, английский, немецкий, украинский языки)
  • Словарный индекс — быстрый поиск с настраиваемыми весами полей
  • Алиасы поиска — синонимы и замены для расширения результатов
  • Статистика запросов — отслеживание популярных запросов
  • Автоматическая индексация — при сохранении ресурсов
  • Отложенная индексация — фоновая индексация через [Scheduler](/components/scheduler/)
  • Vue-интерфейс — современная админ-панель на Vue 3 + PrimeVue
  • Автодополнение — подсказки при вводе запроса

Системные требования

  • MODX Revolution | 3.0.0+
  • PHP | 8.1+
  • MySQL | 5.7+ / MariaDB 10.3+

Зависимости
  • pdoTools 3.x — для работы сниппетов и шаблонизатора Fenom
  • VueTools — для административного интерфейса
  • Scheduler (опционально) — для отложенной индексации

Отличия от mSearch2
mSearch — это полностью переписанный компонент для MODX 3.x:

  • MODX был 2.x стал 3.x
  • PHP был 5.6+ стал 8.1+
  • Интерфейс был ExtJS стал Vue 3 + PrimeVue
  • Архитектура был Процедурный стал Service-based
  • Фильтрация был mFilter2 будет отдельный пакет
  • phpMorphy был Встроенный стал Composer-пакет `cijic/phpmorphy`
  • Scheduler планировщик не было совсем появилась возможность запланированной переиндексации

Внимание!
Сниппет mFilter2 не входит в mSearch. Для фильтрации используйте стандартные возможности pdoTools или сторонние решения. Запланирован отдельный пакет mFilter
  • Новая слоёная JS-архитектура: ApiClient, SearchAPI, Hooks, Headless точка входа, SearchUI
  • Headless-режим (window.msearch) для интеграции с React/Vue и кастомными решениями
  • Система хуков (msearchHooks) для расширения поведения поиска: beforeSearch, afterSearch, beforeSuggest, afterSuggest, onError
  • Новый публичный API-эндпоинт (api.php) вместо web.php, маршрутизация через Router
  • Поиск с учётом контекста: фильтрация по контексту MODX через параметр сниппета &contexts или параметр API ctx
  • Расширенный ответ API: пакетная загрузка ресурсов с pagetitle, longtitle, description, uri, полным url, подсвеченным intro, weight
  • Router: разделение web/manager маршрутов через setContext(), плоский формат ответа {success, ...data}
  • Базовый класс AbstractController для всех API-контроллеров
  • Сниппет mSearchForm: передаёт ctx и connectorUrl через data-атрибуты, автоматическая регистрация скриптов в правильном порядке
  • CORS ограничен same-origin по умолчанию, настраивается через системную настройку mse_cors_origin
  • Удалён web.php (заменён на api.php + Router)
  • Исправлено падение по памяти (512MB) при поиске: Searcher и SearchController используют raw PDO вместо xPDO-объектов, чтобы избежать переполнения кеша объектов на тяжёлых моделях (msProduct)
  • Исправлена локализация админки: Yes/No, Replace/Add, Cancel/Save/Install используют строки лексикона
  • Исправлены кнопки диалогов подтверждения — использовали захардкоженные английские надписи вместо лексикона
  • Исправлено отсутствие иконок PrimeIcons в админке (отсутствовал CSS-импорт)
  • Исправлено отображение результатов поиска в превью админки (несоответствие формата ответа после рефакторинга API)

Последние обсуждения в сообществе MODX.pro