mSearch для MODX3 и MS3 - уже в modstore.pro

Новогодний производственный конвеер продолжает знакомить вас с новинками.
На сегодня обзор совершенно нового компонента mSearch с поддержкой MiniShop3, который стал логичным продолжением и наследником mSearch2.



Для начала важное замечание — я принял решение разделить mSearch2 на разные компоненты. Отдельно поиск mSearch, который уже доступен в modstore.pro, отдельно фильтры mFilter (уже на подходе).

Нейминг



Я бы хотел назвать компонент mSearch3, как логичное наследство mSearch2. Но, так как это заказ от modstore — требование ребят было убрать цифру из названия, что мы и сделали. Такая же история с неймингом mFilter.

Архитектура



По своей задумке и логике работы практически ничего не изменилось.
  1. Вы указываете отслеживаемые классы и поля.
  2. Запускаете индексацию
  3. Индексация разбивает все слова при помощи морфологической библиотеки на формы слов и записывает их в отдельную таблицу.
  4. Поиск происходит по морфологической таблице, а не по самим исходным полям.
Все что ранее было в админке — там и осталось.

Что нового



  • Библиотека морфологии — обновил версию до актуальной с поддержкой PHP8.1+
  • Все интерфейсы в админке реализованы на VUE3 по аналогии с MiniShop3 (внимание, Используется VueTools, нужно скачать компонент)
  • Подключена возможность индексации через планировщик Scheduler. Это дает возможность запускать индексацию нового материала по расписанию, не надеясь на плагины.
  • Весь бэкенд написан практически с нуля с учетом современных паттернов. Код разбит на сервисы, каждый из которых можно безболезненно заменить через DI контейнер.
  • На фронте также все реализовано с нуля. Только ванильный JS. Никакого JqueryUI для выпадающих подсказок.






По сути я подготовил для вас полностью обновленную сборку с проверенными идеями.

Что по деньгам


Компонент как и его предшественник будет платным. Но существенно дешевле mSearch2, за счет урезанного функционала. Стартовая цена в modstore.pro составляет 1490 рублей. — будем считать это инвестициями в разработку будущих компонентов. Стоимость будущего mFilter будет несколько повыше. Но там и функционал будет существенно богаче.

Вот вам еще один способ сказать спасибо, если считаете мой труд полезным. Просто купите компонент впрок, даже если прямо сейчас он вам не нужен.
Николай Савин
Вчера в 11:50
modx.pro
144
+9
Поблагодарить автора Отправить деньги

Комментарии: 5

Ivan K.
Вчера в 13:53
+1
Привет.
Стал первым покупателем компонента. На днях испытаю его на своем одном сайте, где требуется нормальный поиск))
Заметил одну вещь, захожу в админке пакеты->mSearch и логотип MODX 3.1.2 уменьшается в размере))
    Николай Савин
    Вчера в 14:18
    0
    Привет Иван — ну с почином, получается. Если что-то будет не работать (сам понимаешь мало тестировали) можешь писать мне в телеграм напрямую.
    Заметил одну вещь, захожу в админке пакеты->mSearch и логотип MODX 3.1.2 уменьшается в размере))
    Да — действительно, какие то стили конфиктуют. Пофиксим.
    Ivan K.
    Вчера в 14:16
    0
    Вы указываете отслеживаемые классы и поля.
    А как классы указать?
      Николай Савин
      Вчера в 16:07
      +1
      Специально под твой вопрос написал новый раздел документации
      docs.modx.pro/components/msearch/extending

      Если кратко — создаешь новый класс со специальным интерфейсом. В классе указываешь имя модели, перечень и вес полей. Затем создаешь плагин где регистрируешь свой класс. По хорошему минут 15 работы.
      Если честно я не проверял работу. На сегодня расширять особо нечем. Делать какие то свои таблицы и модели только для тестов — пока лень (осуждаю)

      А также уже выпустил обновление с фиксом CSS конфликта.
      Дима Касаткин
      Вчера в 16:17
      0
      Отличные новости, морфологический поиск очень нужен! Спасибо за труды!

      В своё время, msearch2 был революционным, и обгонял по качеству поиска своих конкурентов в других CMS.
      Но сейчас они подтянулись тоже, поэтому на волне приподнятого настроения от того, что прекрасные возможности поиска теперь будут и в MODX3, позволю себе немного описать идеи для корректировки и будущих обновлений:

      1. Несколько ошибок в старом mserch2, которые я подробно описывал ранее:
      1.1 Не работает поиск по alt-атрибутам картинок в контенте
      1.2 В плейсхолдере intro в чанке одного результата поиска не обрезаются html-сущности по «краям» найденного результата. (см. скриншот: yadi.sk/i/OB_lXHCWB8-hCA ). Например nbsp если на границу intro попадает, то некрасиво подрезается.

      2. В движках поиска с момента выхода mserach2 стало модным также делать автоматическое переключение раскладки клавиатуры. Планируется ли добавление такого функционала в компонент?
        Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
        5