[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.

Для финальной версии мне осталось добавить сниппет, который будет генерировать поисковые подсказки, основываясь на истории запросов, и управление словарями из админки (установка, удаление, включение и отключение).

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

Комментарии (15)
LevissВиктор Долгий
17.01.2014 15:11

Весь стандартный опционал погонял. Никаких нареканий. Все работает ок. Не проверил только grandparents и синонимы. Новые фишки как всегда - зачет! Спасибо.

bezumkinВасилий Наумкин
17.01.2014 15:47

На здоровье!

Evgeny Epifanov
17.01.2014 16:45

Тоже обновился. Пока все нормально. Просмотр истории поиска и синонимы это просто супер полезно и важно! Спасибо.

OnFoxПеретягин Илья
17.01.2014 18:04

Василий все супер!

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

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

bezumkinВасилий Наумкин
17.01.2014 18:10

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

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

OnFoxПеретягин Илья
17.01.2014 20:57

А если сделать хотя бы вот так - определять каждый тип запроса по месяцам (хорошо бы неделям), то есть, например: 1. Имеем запрос - "вязанные штаны" 2. Имеем сайт, который работает пол года (6 месяцев) 3. За пол года, данный запрос набрали 340 раз. 4. Узнать, сколько раз в каждый месяц был набран запрос, что бы привести к сумме за пол года в 340. С этими данными можно было бы сверять результаты я.метрики с mSearch2.

Но это конечно не архиважно, что уже есть сейчас + что обещаешь сделать подсказки, это вообще шикарная новость!

Александр Москвин
17.01.2014 19:43

В базовом варианте можно ли в mSearch2 сделать фильтрацию подобным образом?

Т.е. не только чекбоксы, но и выпадающие списки и другие параметры? Например как тут http://www.estatet.ru/catalog\_elite/

bezumkinВасилий Наумкин
17.01.2014 21:00

В базовом варианте есть числовые слайдеры, чекбоксы и радиокнопки.

Для каждого фильтра можно указать свои чанки с любой версткой, и отдельно описать javascript для них. Так что, в принципе, можно что угодно.

Александр Москвин
17.01.2014 22:01

большое спасибо за оперативный ответ)

Чикин Артур
18.01.2014 21:51

Часто пользуюсь поиском по сайту bezumkin.ru и хотелось бы следующего. Что бы можно было выбирать по каким полям искать, например только в заголовках, или только в статьях, или комментариях.

bezumkinВасилий Наумкин
19.01.2014 00:25

Невозможно, прочитай описание алгоритма.

Evgeny Epifanov
19.01.2014 01:06

Раз уж стали писать про пожелания, от себя добавлю: - было бы интересно что-то типа такого решения - если результат поиска 1 единственный, то отправлять посетителя сразу на нужную страницу (для ИМ актуально)

bezumkinВасилий Наумкин
19.01.2014 01:20

Заметку читал?

Для финальной версии мне осталось добавить сниппет, который будет генерировать поисковые подсказки, основываясь на истории запросов

Evgeny Epifanov
19.01.2014 02:20

Читал. Тут про историю, а там список всего содержимого сайта, например по pagetitle. В принципе, мне любой вариант интересен.

bezumkinВасилий Наумкин
19.01.2014 13:23

Будет и так и так.

born2slip
pishnaa istntome
22.11.2022 14:06
огромное спасибо! )
inetlover
Александр Наумов
14.11.2022 10:19
посмотри документацию. Спасибо, что-то она мне не нагуглилась. Это просто функции объединения для о...
bezumkin
Василий Наумкин
10.11.2022 05:46
Спасибо за поздравления!
inetlover
Александр Наумов
09.11.2022 17:08
Посмотрел в ДевТулсе свойство overscroll-behavior: none; присутствует, проверил в Chrome и Chromium ...
bezumkin
Василий Наумкин
03.11.2022 20:57
Поискать в исходниках ссылки на её адрес и поменять - скорее всего только nuxt.config.js. А зачем эт...
ni.kolokol@mail.ru
Николай Каленников
03.11.2022 19:43
Спасибо. Попробую тоже с нуля переставить
inetlover
Александр Наумов
03.11.2022 19:24
Спасибо!!! Все заработало!
bezumkin
Василий Наумкин
28.10.2022 05:23
В тексте есть подсказка // Контроллер требует новое разрешение protected $scope = 'ord...
bezumkin
Василий Наумкин
27.10.2022 13:25
Понял, спасибо!
inetlover
Александр Наумов
23.10.2022 13:33
Понял, спасибо!