Поиск в интернет-магазине всегда входил в общий пакет создания интернет-магазина. И только недавно стал предлагаться как отдельный продукт, например, сервис findologoc или как плагинами к cms searchanise.com. Нельзя сказать, что на них сразу кинулись клиенты, но начало положено. И появление таких сервисов неизбежно по одной причине. Год назад один ритейлер цифровой техники (Кей), перед тем как делать свой новый фронтенд сайта с целью повышения юзабилити, провел фокус группу по выявлению наиболее важных элементов поиска товаров.

Как ни странно, на первом месте оказался ни каталог, ни фильтры, ни онлайн-консультант и не блоки со спецпредложениями, а поисковая строка. Более глубокое интервьюирование выявило, что причина такого внимания к строке проста — это перенос опыта из поисковиков. Люди все больше привыкают искать все что надо прямо из строки поиска. Не уверен, что это приведет к исчезновению каталога в интернет магазине, как он исчез в поисковиках (многие еще помнят, что все поисковики начинались в том числе как каталоги интернет-ресурсов). Каталог нужен как навигационная карта для покупателя («что тут у вас есть?»). Но значение поисковой строки в интернет-магазине явно увеличивается.

В принципе вроде удобней и быстрее написать прямо в строке поиска «ноутбук Asus 15 дюймов» вместо того, чтобы искать сначала в каталоге ноутбуки Asus, потом выбирать в фильтрах дюймы. Особенно для «блондинок» и «слесарей».

То есть это возможность прямо из строки поиска искать по категориям, характеристикам и их значениям, что вроде бы и хотят посетители. Но существующие решения не могут обработать такого запроса. Единственно, кто может обрабатывать такие результаты — это интернет-магазин Utinet. Но они сделали его только для себя, то есть они не могут предложить такого решения никому другому.

Обычно поиск строится как полнотекстовый индекс, например в Sphinx, по определенным полям базы товаров. Чаще всего это просто поиск по названию товаров. Но некоторые его расширяют на поиск по категориям (тегам) и даже по характеристикам. И тут есть проблема. Если сделать поиск по всем полям «карточки» товара, то в результатах поиска может оказаться очень много мусора, который не понравится посетителю. Напомню, что обычно слова из запроса подвергаются стеммингу, иначе неразрешима проблема, например, мн. и ед. числа в запросе посетителя. Но если я напишу ноутбук с жестким диском 1 терабайт, то такой поиск выдаст как ноутбуки, так и жесткие диски. На самом деле все еще хуже, так как будет еще много другого «мусора», например, чехлы для жестких дисков, зарядки для ноутбуков и т.п. Можно отранжировать, конечно, назначив «первоочередные» категории, но это кривое решение, так как иногда посетитель ищет именно чехол для жесткого диска.

Искать по точному названию — умеют все, только по одной категории, например, телик (по синониму) — научились. А вот что-то сложнее (категория плюс характеристики) уже нет. Дело в том, что какое-то одно слово из такого запроса отдельно обязательно найдется где-нибудь совсем не там, где надо. И все товары с таким словом где-то в описании вывалятся посетителю. Ему это не понравится. Поэтому, как мне известно (а если что-то неизвестно, буду рад комментариям), все пытаются найти компромиссный вариант и выделяют какие-то отдельные поля для поиска из строки. Как searchanise, ищет по названию, и по бренду. Все. Запрос типа «телик до 30 000 рублей» уже не прокатит. Но найти по такому запросу тоже можно. Если поколдовать именно с запросом, а не с полями для поиска и метками для ранжированиями. Если точнее, для этого нужен синтаксический анализ такого запроса. И еще кое-что. Подробности описывать не буду, дабы не засорять мозг (мы все-таки не на Хабре, а на Мегамозге). Тем более, те, кто не хочет долго думать и полгода делать, могут сразу обратиться к нам.

Но вопрос в другом — насколько нужен такой поиск, или какой поиск нужен посетителю интернет магазина? Эта статья — попытка собрать мнения за и против. Возможно, кто-то сам имел опыт с Ютинет, или с Юлмарт и Кей (мы поставили такой поиск им), может, кто-то имеет свою статистику. Буду рад мнениям.

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


  1. dj_raphael
    22.05.2015 21:35

    Лет 10 назад примерно прикрутил поиск xml.yandex.ru Работает идеально и по сей день.
    Тоже еле убедил владельца(мой друг), что поиск это главная фишка на сайте.

    Запрашиваю сразу 1000 результатов. По URL пришедший от яндекса нахожу id продукта, удаляю дубликаты — и вывожу уже свои карточки продукта с кнопкой купить. Если нашёл только 1 продукт — то перенаправление на страницу продукта, если строка поиска точно совпадает с артикулом — тоже перенаправление.
    Страницу непродукта оставляю если только пришла первая, таким образом страница контакты, доставка тоже ищутся без проблем.


    1. Xom Автор
      22.05.2015 22:51

      Яндекс xml надо еще суметь настроить так, чтобы он находил товары на сайте. Просто ID выделять в результатах — это интересная идея, но могут попасть всякие результаты, так как это просто полнотекстовый поиск, причем сразу по всему сайту. Просеивать результаты потом надо очень серьезно так как «яндекс находит все» (его на отдельные поля базы не направить). А так, тоже решение…