25 September 2009

«Быстрый» и «медленный» поиск: два различных подхода для поиска на сайте

Website development
Добрый день, друзья.

Сегодня я хотел бы рассказать о двух подходах к поиску информации, которые я использую на своем сайте. Условно я их называю «быстрый» и «медленный» поиск (хотя можно придумать и другие термины, но мне нравятся эти). В целом, идея довольно проста: «быстрый» поиск – это тот, который выдает информацию «здесь и сейчас», а «медленный» — растянутую во времени, например, ежедневно, еженедельно и т.д. Каждый подход имеет своих целевых пользователей, и оба весьма органично дополняют друг другу.



Теория

Для понимания приведу наглядный пример: пусть нас интересует работа нашего президента. Для этого мы спокойно можем забить в Яндексе или Гугле «Медведев официальные встречи Кремль» и они услужливо выдадут нам массу ссылок. Это – «быстрый» (мгновенный) поиск. А теперь представим себя в роли политолога. По идее, ему каждый день нужны свежие события о президенте – с кем встретился, что сказал и т.д. Ходить ради этого каждый день в поисковик – занятие неблагодарное. Было бы замечательно, если бы можно было забить раз и навсегда конкретные поисковые запросы, и чтобы поисковые роботы сами (!!) с определенной периодичностью отбирали свежие материалы. Это – «медленный» поиск.

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

Практика

«Быстрый» поиск

Реализация быстрого поиска в том или ином виде есть на любом сайте. Одна или несколько html-форм, по данным из которых формируется SQL-запрос, выполняется, затем результаты обрабатываются и выдаются пользователю в удобном виде. Выполнив такой поиск, пользователь видит текущее состояние книжной базы (книги конкретного автора, книги с конкретным названием, цены, условия обмена/продажи), может что-то заказать и т.д.

«Медленный» поиск

Ключевой вопрос: как быть, если быстрый поиск не дал результатов? Отпустить расстроенного пользователя на другие сайты? Нет, так не пойдет… Надо дать ему возможность оставить свои пожелания, и по мере поступления новых книг, производить все новые и новые поиски – до тех пор, пока нужные книги не будут найдены.

В качестве основы, как можно догадаться, используется все тот же быстрый поиск, который перебирает все поисковые слова, введенные пользователями, и формирует таблицу результатов. Чтобы не напрягать хостера, я делаю такой поиск на локальной копии сайта (на своем домашнем компьютере), а затем выгружаю результаты обратно на сайт. После этого почтовый робот рассылает e-mail уведомления: «Здравствуйте, по вашему запросу найдена новая книга…»

С точки зрения пользователя все выглядит весьма удобно: достаточно один раз ввести свои запросы, а потом тебе на почту приходят сообщения. Как говорится, «мы работаем, чтобы вы отдыхали». :-)

Некоторые технические детали: периодичность запуска – раз в три дня, из где-то 60 обрабатываемых запросов (сервис только-только запустился) по трем-четырем обязательно находятся новые книги (хороший процент). Количество записей, участвующих в поиске (т.е. новых, появившихся за 3 дня) – около 150. Поиск ведется по двум раздельным полям – авторы и названия книг (в этом плане все просто – достаточно искать вхождение подстроки). В целом, пока довольно скромно, но, чувствую, дальше будет расти.

Выводы

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

Также было бы интересно услышать, сталкивался ли кто-нибудь с подобными вещами? (лично я видел такое в яндекс.блогах, когда можно подписаться на rss по конкретному запросу)

P.S. Прямую ссылку на сервис дать не могу, так как он доступен только для зарегистрированных пользователей. Только на главную страницу.
Tags:поискбыстрый поискмедленный поиск
Hubs: Website development
+4
1.2k 10
Comments 12
SEO-специалист
December 7, 202064,900 ₽Нетология
Профессия iOS-разработчик
December 7, 202090,000 ₽SkillFactory
iOS-разработчик с нуля
December 7, 202070,740 ₽Нетология
Курс по аналитике данных
December 7, 202064,200 ₽SkillFactory