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

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

Фильтр

В этой версии мы решили сделать работу подсказок более понятной, поэтому теперь предсказания показывают сколько будет добавлено результатов, а не всего. На картинках будет понятнее. - 1.
1. Сначала все фильтры показывают, сколько будет результатов при клике на один из них. 2. При активации одного фильтра в группе, остальные показывают сколько значений прибавится. Соседня группа при этом может ограничивать выборку, поэтому она показывает итоговое количество результатов, как и раньше. 3. Когда же выбран и другой фильтр - они уже друг друга не ограничивают, и оба показывают радостные плюсики с добавками.
Мне кажется, так стало гораздо понятнее, что это за циферки рядом с фильтрами.
Еще добавился новый фильтр, который заказала и оплатила наша читательница - grandparents. Он пригодится для больших каталогов, когда вывод родителей только мешает, и лучше выводить дедушек.
Опять картинки: - parents
Вызываем как обычно:
[[!mFilter2?
    &parents=`0`
    &filters=`parent:grandparents`
]]
Если родитель находится в корне - то он остаётся как есть, ничем не заменяется.

Поиск

Добавлен новый раздел в админке - поисковые запросы. В нём фиксируются все запросы пользователей сайта, сколько раз задали каждый запрос и сколько было найдено совпадений. Это сделано для: - Оптимизации запросов, по которым ваши пользователи ничего не находят.
  • Будущего сниппета, который будет выводить подсказки в форме поиска.
  • Для оптимизации следующей новинки - синонимов.
Синонимы - это возможность более гибко влить на поиск.
Например, вы торгуете кошачьими кормами, и народ регулярно ищет у вас "wiskas", безрезультатно. Теперь вы можете просто добавить исходное слово "wiskas" и псевдоним к нему - "whiskas".
А потом можно добавить и "вискас" → "whiskas", и "уискас" → "whiskas", и что угодно. -
Синоним может добавляться в запрос а может и заменять исходное слово - дело ваше.
Как вы понимаете, это 2 новых функции полностью меняют управление поиском на сайте. Теперь вы можете направлять пользователя туда, куда вам нужно, а не ждать милости от словарей и алгоритмов.

Заключение

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

15 комментариев

Виктор Долгий
Весь стандартный опционал погонял. Никаких нареканий. Все работает ок. Не проверил только grandparents и синонимы. Новые фишки как всегда - зачет! Спасибо.
Василий Наумкин
На здоровье!
Evgeny Epifanov
Тоже обновился. Пока все нормально. Просмотр истории поиска и синонимы это просто супер полезно и важно! Спасибо.
Перетягин Илья
Василий все супер!
Один вопрос, нету ли в планах еще добавить даты, когда набирался данный запрос, что бы потом можно было узнать когда именно вбивался этот запрос и по сколько раз в определенный день.
Это надо для того, что бы отслеживать свои же изменения на сайте. Например, мы поняли, что вбивается некий запрос – то есть люди не могут найти ответ, исправляем, что то на сайте и думаем, что все хорошо, но может так оказаться, что число этих же запросов не изменилось, это дало бы понять, что мы сделали не правильно, не понятно.
Василий Наумкин
Даты пока не стал добавлять, ибо запросов будет много и фиксировать дату каждого просто затратно.
Сейчас оценивать эффективность можно по найденным результатам - их количество будет меняться. Есть еще вариант добавить события для плагинов, чтобы ты сам сохранял, что тебе нужно.
Перетягин Илья
А если сделать хотя бы вот так - определять каждый тип запроса по месяцам (хорошо бы неделям), то есть, например: 1. Имеем запрос - "вязанные штаны" 2. Имеем сайт, который работает пол года (6 месяцев) 3. За пол года, данный запрос набрали 340 раз. 4. Узнать, сколько раз в каждый месяц был набран запрос, что бы привести к сумме за пол года в 340. С этими данными можно было бы сверять результаты я.метрики с mSearch2.
Но это конечно не архиважно, что уже есть сейчас + что обещаешь сделать подсказки, это вообще шикарная новость!
Александр Москвин
В базовом варианте можно ли в mSearch2 сделать фильтрацию подобным образом?
Т.е. не только чекбоксы, но и выпадающие списки и другие параметры? Например как тут http://www.estatet.ru/catalog\_elite/
Василий Наумкин
В базовом варианте есть числовые слайдеры, чекбоксы и радиокнопки.
Для каждого фильтра можно указать свои чанки с любой версткой, и отдельно описать javascript для них. Так что, в принципе, можно что угодно.
Александр Москвин
большое спасибо за оперативный ответ)
Чикин Артур
Часто пользуюсь поиском по сайту bezumkin.ru и хотелось бы следующего. Что бы можно было выбирать по каким полям искать, например только в заголовках, или только в статьях, или комментариях.
Василий Наумкин
Невозможно, прочитай описание алгоритма.
Evgeny Epifanov
Раз уж стали писать про пожелания, от себя добавлю: - было бы интересно что-то типа такого решения - если результат поиска 1 единственный, то отправлять посетителя сразу на нужную страницу (для ИМ актуально)
Василий Наумкин
Заметку читал?
Для финальной версии мне осталось добавить сниппет, который будет генерировать поисковые подсказки, основываясь на истории запросов
Evgeny Epifanov
Читал. Тут про историю, а там список всего содержимого сайта, например по pagetitle. В принципе, мне любой вариант интересен.
Василий Наумкин
Будет и так и так.
bezumkin.ru
Личный сайт Василия Наумкина
Прямой эфир
Александр Наумов
23.07.2024, 00:20:37
Василий, спасибо большое!!
Василий Наумкин
01.07.2024, 11:56:41
Да, верно, именно так. А в контроллере, скорее всего, ловить данные методом post.
Василий Наумкин
26.06.2024, 09:38:15
О, точно, вылезает если не залогинен. Спасибо, исправил!
Василий Наумкин
09.04.2024, 04:45:01
> Ошибка 500 Это не похоже на ошибку Nginx, это скорее всего ошибка PHP - надо смотреть его логи. ...
Василий Наумкин
20.03.2024, 21:21:52
Volledig!
Андрей
14.03.2024, 13:47:10
Василий! Как всегда очень круто! Моё почтение!
russel gal
09.03.2024, 20:17:18
> А этот стоило написать хотя бы затем, чтобы получить комментарий от юзера, который ничего не писал...
Александр Наумов
27.01.2024, 03:06:18
Василий, спасибо! Извини, тупанул.
Василий Наумкин
22.01.2024, 07:43:20
Давай-давай!
Василий Наумкин
24.12.2023, 14:26:13
Спасибо!