[mSearch2] Бета версия 1.0.0: история запросов и синонимы

Несмотря на то, что последние дни были довольно-таки богатыми на события, я успел как следует поработать и добавить очень серьёзные возможности в mSearch2.

Настолько серьёзные, что теперь это уже можно называть версией 1.0.0-beta.

Фильтр

В этой версии мы решили сделать работу подсказок более понятной, поэтому теперь предсказания показывают сколько будет добавлено результатов, а не всего. На картинках будет понятнее.
  • 1.
  • 2.
  • 3.
1. Сначала все фильтры показывают, сколько будет результатов при клике на один из них.
2. При активации одного фильтра в группе, остальные показывают сколько значений прибавится. Соседня группа при этом может ограничивать выборку, поэтому она показывает итоговое количество результатов, как и раньше.
3. Когда же выбран и другой фильтр — они уже друг друга не ограничивают, и оба показывают радостные плюсики с добавками.

Мне кажется, так стало гораздо понятнее, что это за циферки рядом с фильтрами.

Еще добавился новый фильтр, который заказала и оплатила наша читательницаgrandparents. Он пригодится для больших каталогов, когда вывод родителей только мешает, и лучше выводить дедушек.

Опять картинки:
  • parents
  • grandparents
Вызываем как обычно:
[[!mFilter2?
	&parents=`0`
	&filters=`parent:grandparents`
]]
Если родитель находится в корне — то он остаётся как есть, ничем не заменяется.

Поиск

Добавлен новый раздел в админке — поисковые запросы. В нём фиксируются все запросы пользователей сайта, сколько раз задали каждый запрос и сколько было найдено совпадений.

Это сделано для:
  • Оптимизации запросов, по которым ваши пользователи ничего не находят.
  • Будущего сниппета, который будет выводить подсказки в форме поиска.
  • Для оптимизации следующей новинки — синонимов.
Синонимы — это возможность более гибко влить на поиск.

Например, вы торгуете кошачьими кормами, и народ регулярно ищет у вас "wiskas", безрезультатно. Теперь вы можете просто добавить исходное слово «wiskas» и псевдоним к нему — "whiskas".

А потом можно добавить и «вискас» → «whiskas», и «уискас» → «whiskas», и что угодно.
Синоним может добавляться в запрос а может и заменять исходное слово — дело ваше.

Как вы понимаете, это 2 новых функции полностью меняют управление поиском на сайте. Теперь вы можете направлять пользователя туда, куда вам нужно, а не ждать милости от словарей и алгоритмов.

Заключение

Есть еще немного изменений, о которых тоже стоит упомянуть:
  • У mFilter2 исправлена работа с плейсхолдером total в новых версиях pdoTools.
  • Можно перезаписать чанки при установке новой версии пакета.
  • У mSearch2 немного улучшена подсветка совпадений в тексте.
  • При включенном showLog у сниппетов выводится лог поиска.
  • Новый системный параметр mse2_search_like_match_bonus, который указывает дополнительный бонус за неточное совпадение. Если его выставить в 0, то поиск будет только по словарям, без LIKE.
Для финальной версии мне осталось добавить сниппет, который будет генерировать поисковые подсказки, основываясь на истории запросов, и управление словарями из админки (установка, удаление, включение и отключение).

Поэтому — обновляемся, пишем об ошибках или странностях в работе поиска, чтобы я мог двигаться дальше.

Следующая заметка
Вышел MODX 2.2.11
Предыдущая заметка
Новый домен


Комментарии ()

  1. Виктор Долгий 17 января 2014, 11:11 # 0
    Весь стандартный опционал погонял. Никаких нареканий. Все работает ок. Не проверил только grandparents и синонимы. Новые фишки как всегда — зачет! Спасибо.
    1. Василий Наумкин 17 января 2014, 11:47 # 0
      На здоровье!
    2. Evgeny Epifanov 17 января 2014, 12:45 # 0
      Тоже обновился. Пока все нормально. Просмотр истории поиска и синонимы это просто супер полезно и важно!
      Спасибо.
      1. Перетягин Илья 17 января 2014, 14:04 # 0
        Василий все супер!

        Один вопрос, нету ли в планах еще добавить даты, когда набирался данный запрос, что бы потом можно было узнать когда именно вбивался этот запрос и по сколько раз в определенный день.

        Это надо для того, что бы отслеживать свои же изменения на сайте. Например, мы поняли, что вбивается некий запрос – то есть люди не могут найти ответ, исправляем, что то на сайте и думаем, что все хорошо, но может так оказаться, что число этих же запросов не изменилось, это дало бы понять, что мы сделали не правильно, не понятно.
        1. Василий Наумкин 17 января 2014, 14:10 # 0
          Даты пока не стал добавлять, ибо запросов будет много и фиксировать дату каждого просто затратно.

          Сейчас оценивать эффективность можно по найденным результатам — их количество будет меняться. Есть еще вариант добавить события для плагинов, чтобы ты сам сохранял, что тебе нужно.
          1. Перетягин Илья 17 января 2014, 16:57 # 0
            А если сделать хотя бы вот так — определять каждый тип запроса по месяцам (хорошо бы неделям), то есть, например:
            1. Имеем запрос — «вязанные штаны»
            2. Имеем сайт, который работает пол года (6 месяцев)
            3. За пол года, данный запрос набрали 340 раз.
            4. Узнать, сколько раз в каждый месяц был набран запрос, что бы привести к сумме за пол года в 340.
            С этими данными можно было бы сверять результаты я.метрики с mSearch2.

            Но это конечно не архиважно, что уже есть сейчас + что обещаешь сделать подсказки, это вообще шикарная новость!
        2. Александр Москвин 17 января 2014, 15:43 # 0
          В базовом варианте можно ли в mSearch2 сделать фильтрацию подобным образом?

          Т.е. не только чекбоксы, но и выпадающие списки и другие параметры?
          Например как тут www.estatet.ru/catalog_elite/
          1. Василий Наумкин 17 января 2014, 17:00 # 0
            В базовом варианте есть числовые слайдеры, чекбоксы и радиокнопки.

            Для каждого фильтра можно указать свои чанки с любой версткой, и отдельно описать javascript для них. Так что, в принципе, можно что угодно.
            1. Александр Москвин 17 января 2014, 18:01 # 0
              большое спасибо за оперативный ответ)
          2. Чикин Артур 18 января 2014, 17:51 # 0
            Часто пользуюсь поиском по сайту bezumkin.ru и хотелось бы следующего. Что бы можно было выбирать по каким полям искать, например только в заголовках, или только в статьях, или комментариях.
            1. Василий Наумкин 18 января 2014, 20:25 # 0
              Невозможно, прочитай описание алгоритма.
            2. Evgeny Epifanov 18 января 2014, 21:06 # 0
              Раз уж стали писать про пожелания, от себя добавлю:
              — было бы интересно что-то типа такого решения
              — если результат поиска 1 единственный, то отправлять посетителя сразу на нужную страницу (для ИМ актуально)
              1. Василий Наумкин 18 января 2014, 21:20 # 0
                Заметку читал?
                Для финальной версии мне осталось добавить сниппет, который будет генерировать поисковые подсказки, основываясь на истории запросов
                1. Evgeny Epifanov 18 января 2014, 22:20 # 0
                  Читал. Тут про историю, а там список всего содержимого сайта, например по pagetitle. В принципе, мне любой вариант интересен.
                  1. Василий Наумкин 19 января 2014, 09:23 # 0
                    Будет и так и так.
              Добавление новых комментариев отключено.