[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 11:11

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

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

На здоровье!

Evgeny Epifanov
17.01.2014 12:45

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

bezumkinВасилий Наумкин
18.01.2014 20:25

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

Evgeny Epifanov
18.01.2014 21:06

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

bezumkinВасилий Наумкин
18.01.2014 21:20

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

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

Evgeny Epifanov
18.01.2014 22:20

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

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

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

bezumkin
Василий Наумкин
09.04.2024 01:45
Ошибка 500 Это не похоже на ошибку Nginx, это скорее всего ошибка PHP - надо смотреть его логи. Во...
futuris
Futuris
04.04.2024 05:56
Я просто немного запутался. Когда в абзаце "Vesp/Core" ты пишешь про "новый trait Fil...
bezumkin
Василий Наумкин
20.03.2024 18:21
Volledig!
Андрей
14.03.2024 10:47
Василий! Как всегда очень круто! Моё почтение!
russelgal
russel gal
09.03.2024 17:17
А этот стоило написать хотя бы затем, чтобы получить комментарий от юзера, который ничего не писал ...
inetlover
Александр Наумов
27.01.2024 00:06
Василий, спасибо! Извини, тупанул.
bezumkin
Василий Наумкин
22.01.2024 04:43
Давай-давай!
bezumkin
Василий Наумкин
24.12.2023 11:26
Спасибо!
bezumkin
Василий Наумкин
27.11.2023 02:43
Ура!
bezumkin
Василий Наумкин
25.11.2023 08:30
Vesp тянет 2 зависимости: vesp-frontent для фронта и vesp-core для бэкенда. Их можно обновлять, но э...