И все мы привыкли, что именно подсказка строится из запросов, которые пользователи уже вводили в поисковой строке.
Нужна ли такая подсказка на корпоративном сайте, в интернет-магазине или корпоративным портале?
[spoiler]
Первоначально мы полагали, что отличия в механизмах подсказки нет.
Нами был выпущен модуль поиска, который запоминал запросы пользователей в течение определенного времени и с учетом частоты запросов, и использовал эти данные для подсказки пользователям, когда они вводили поисковый запрос.
Обратите внимание, сегодня пользователи начинают набор слова в поисковой строке и .... ждут подсказку
ДА! они просто сидят и ждут подсказку. Набрали "Nikon..." и ждут какие модели фотоаппаратов им выведет подсказка. Ага, появилась. Дописали "Nikon D..." и смотрят модели
Фактически, пользователи ожидают, что система подскажет, что вообще можно искать или смотреть.
И это очень любопытное и важно наблюдение. Правильно подсказывая - мы фактически помогаем найти информацию.
Но то, что верно для поисковиков - совершенно неверно для сайта!
Заходя на сайт, пользователь так же пытается найти нужную информацию. Но подсказывать ему нужно не по результатам поиска предыдущих посетителей, а на основании всей без исключения информации, которая есть у вас на сайте.
Статистика поисковых запросов предыдущих посетителей для подсказки в запросе оказывается бесполезной по нескольким причинам:
* статистики чаще всего недостаточно для наполнения нормального индекса подсказок
* при запуске сайта подсказка оказывается наиболее неэффективной и если посетителей недостаточно, то никогда и не станет эффективной
* новые материалы в подсказке появляются только после поиска активных посетителей
* статистика поиска устаревает довольно быстро, активные темы уходят из поиска
"А давайте мы сами наполним индекс нужными словами!" С такой фразы началась у нас дискуссия в компании, когда мы разрабатывали поиск для нового Корпоративного портала.
Так появился мгновенный поиск по заголовкам.
Так выглядит подсказка поиска в Корпоративном портале 9.5
Так будет выглядеть поиск в новом дистрибутиве Интернет-магазина
На мой взгляд, особенно такой поиск и подсказка важны для Интернет-магазина.
Пользователи предпочитают искать информацию и пользуясь мгновенным поиском и подсказкой они могут как бы "играть словами" в строке поиска и выбирать нужные им варианты.
Подсказка строиться на заголовках страниц, названиях товаров, сообщениях форумов, названиях блогов, оглавлений Wiki и других названиях...
И вам не нужно наполнять подсказку самим товарами. Достаточно добавить товар в интернет-магазин и он уже доступен в поисковой подсказке, он доступен в результатах поиска.
Попробуйте, например, на нашем
И выбирая тему из Документации, вы сразу попадаете на этот документ. Без всякой поисковой выдачи.
Пока такой поиск на наших сайтах включен только на сайте разработчиков но скоро он появится на всех наших сайтах и во всех наших продуктах.
Но уже сегодня вы можете сделать у себя на сайте такой поиск.
Далее начинается секция для разработчиков и если вы себя к ним не относите, то
Начиная с версии 9.5 модуль поиска содержит специальный индекс для быстрой подсказки в строке поиска.
Этот индекс будет пополняться автоматически по мере появления нового контента (мгновенная индексация). Но если вы только поставили обновление модуль поиска на уже работающий сайт, то вам нужно выполнить переиндексацию старой информации.
Весь функционал для подсказки сосредоточен в компоненте bitrix:search.title
Несколько советов от Максима Смирнова разработчикам для установки модуля поиска
Пусть в шаблоне сайта имеется строка поиска. Вот пример html кода
<div id="search"> <fo rm method="get" action="/search/index.php"> <input name="q" autocomplete="off" id="search-textbox-input" type="text"> <input value="Поиск" id="search-submit-button" type="submit"> </form> </div> |
Сразу после контейнера <div id="title-search"></div> добавляем код подключения компонента:
<?$APPLICATION->IncludeComponent("bitrix:search.title", ".default", array( "NUM_CATEGORIES" => "1", "TOP_COUNT" => "5", "CHECK_DATES" => "Y", "SHOW_OTHERS" => "N", "PAGE" => "/search/index.php", "SHOW_INPUT" => "N", "INPUT_ID" => "title-search-input", "CONTAINER_ID" => "title-search" ), false );?> |
Надо обратить внимание на id контенера и id строки ввода поиска.
Их необходимо передать в соответствующие параметры компонента.
"SHOW_OTHERS" => "N" - отключает вывод строки ввода самим компонентом search.title.
Далее необходимо настроить категории поиска.
В режиме правки открываем параметры компонента.
Вы можете настроить несколько секций, на которые хотите обратить внимание пользователей.
Например мы у себя настроили секцию Документация на сайте разработчиков и поменяли порядок сортировки и показали Документацию первой.
Работы над поиском еще продолжаются.
На данный момент при поиске по заголовкам сообщений форума, они дублируются, так как каждое сообщение показывается как отдельная тема. Готовится к выпуску версия поиска и форумов избавляющих от этой проблемы. В поисковый индекс заголовков будут заноситься только заголовки топиков, а не всех сообщений.
Мы так же работаем над улучшением качества выдачи и над группировкой информации в результатах поиска.
Ждите новинок
Только заголовки категорий занимают слишком много места по ширине, на мой взгляд. Из-за чего в подсказку помещается всего два-три слова и результат теряет в информативности. Может стоит хотя бы title для длинных подсказок выводить?
К сожалению, очень часто заголовки не передают полную картину. Ну и конечно дублирование в результатах (в блогах и форумах) одного заголовка это не очень информативно.
При нажатии "Остальное" судя по параметрам в url должна быть фильтрация поиска по разделу, но её нет. Сейчас "остальное" = "Все результаты" (проверено на сайте Битрикса)
Но в целом, я еще раз повторю - очень красиво и перспективно. Надеюсь, что в ближайшее время механизм подсказок будет еще более настраиваемым и подстраиваемым Успехов!
Алексей, мы же говорим про подсказку в поиске при вводе запроса. Если формировать подсказку учитывая весь контент сайта, еще и морфологи, релевантность и еще и расстояние между словами то получится просто полноценный мгновенный поиск. В принципе, это можно сделать. Но для ввода такой системы в строй нужно существенные процессорные мощности, определенное администрирование и подготовка. Далеко не все клиенты готовы к такой ситуации.
Ну и не кажется нам пока, что нужно строить подсказку на основании содержимого документов. Мы считаем, что достаточно заголовков. Поработаем, посмотрим на эффективность.
Если отойти от заголовков и вернуться к подсказкам, то можно было бы создать индекс слов и на его основе давать подсказки (не заголовки), а не только на основе запросов пользователей. И как здесь же заметил Рамиль Юналиев, если бы еще понимал неверную раскладку, то вообще хорошо.
Или просто скрестить существующие подсказки с подсказками по заголовку (создать категорию "Запросы"). Вариантов масса, а пока получается "Вы руки с мылом мыли? Да? Тогда чай без сахара."
А вот про компромисс не понял. Вы про подсказку смешанную между тем что искали и заголовками?
Кажется, что это не очень нужно. Посмотрите у себя на сайте в веб-аналитике результаты поисков на внутреннем поисковике. Часто совпадают вопросы? Как считаете, будет от этого польза?
Про компромисс. Есть в примере категория "Блоги", "Форум" и т.д. Сергей, если была бы возможность категории "Запросы пользователей", то моя обезьянка на шее успокоилась бы.
Хотя конечно это уже некорректно будет называть поиском по заголовкам.
Это легко настроить, сделайте событие на поиск и подкорректируйте правило индексации, можете в заголовок подмешать свойство или несколько свойств.
И это будет для вас много лучше, чем собирать редкие запросы
Появится ли событие, обработчик которого мог бы менять текст заголовка при индексации (актуально для подстановки доп параметров в заголовок из свойств инфоблока или других сущностей)?
Это немного. Как раз для обеспечения производительности и был создан отдельный индекс и требуется переиндексация для его формирования на уже работавших проектах.
У нас на сайте заголовков в общей сумме на 500 тысяч, кажется. Это форумы, инфоблоки, блоги, соцсетка, документация и многое другое.
Уточню у разработчиков.
bitrix api - ишекшч фзш
Я уже привык и в яндекс и гугл в строку поиска писать на любой раскладке
PS
хм... хотя это может быть и не мелочь
Теперь немного "хотелок"
Еще до этого в результатах поиска меня неустраивало, что нельзя в правила сортировки внести условие воздействия даты создания элемента (или его порядковый номер ID) на место в сортировке. Существующими методами я могу по сути некоторый инфоблок или элемент вынести вперед или назад установив некий вес. А хотелось бы еще и чтобы "новизна" элемента (при моём желании) была критерием для дополнительного ранжирования. Ввел "копыта" и сначала идут новые копыта, а потом уже и постарше (добавленные раньше) В поиск по заголовкам тоже нужно какие-то критерии настраиваемые. Сейчас же не учитывается ничего кроме букв? Может быть за кликами следить, может быть на посещаемость элементов смотреть... Понятно, что это дополнительная нагрузка, но хочется иметь возможность управлять космолётом)))
Еще раз спасибо за идею, данную выше...
Далее мы забиваем в базу еще одну фирму рекламную и такие же ключевые слова.
Требуется организовать поиск с подсказками? Что для этого необходимо? Спасибо
То в поиске заголовок таким и будет Прогноз погоды в Хацапетовке на ".$datetoday." года (".$weekday.")
В моём же случае для сайта также существуют английский и украинский языки, но при их выборе - мгновенный поиск не работает (под полем ввода ничего не выпадает).
Можете помочь разобраться, как с этим справиться? Крайне нуждаюсь в этом! Заранее благодарен.
Почему нельзя ввести название статьи или фразу и по ней найти статью, чтобы исправить её в админке. Уже запарились. Может у нас Битрикс старый (версия 8.6.4)? Это ужас какой-то. Неужели нельзя было сделать проще и универсальнее? Может суперадмин скрыл эту функцию, тогда как её включить?
Благодарю.
проблема показано на рисунке:
Еще один момент вообще такие название нет в категории Марки и тут показывает названию категории Марка
вот код вызова компонента "bitrix:search.title" :
Решение нужно было довить в фильтр поиска свой модуль.
Откроем файл: bitrix\components\bitrix\search.title\ component.php
и добавим кусок кода в данный файл. Строка нужного место примерно начинается со строки 67:
СПАСИБО ВСЕМ!!!