На каждом более-менее серьезном сайте с достаточно большим количеством информации неотъемлемым атрибутом есть поиск. Элемент используется для поиска на ресурсе необходимой пользователю информации. Есть несколько видов поиска, которые можно различить по механизму реализации и назначению. Первое понятие больше знакомо для людей, занимающихся технической стороной вопроса, второе для рядовых посетителей Интернет страниц.
Так, например, на том или ином сайте может быть реализован поиск по определенным его составляющим как то новости и статьи, ссылки, события, семинары и т.д. и т.п. Можно встретить поиск по базе товаров с разными возможностями в виде выбора производителя, марки и каких-либо специфических параметров для определенных видов продукции.
Что касается реализации, то простой поиск может использовать оператор MYSQL LIKE либо реализовываться с помощью функций того или иного языка программирования. Есть еще так называемый индексированный поиск, который включает не только нахождение нужного слова или словосочетания, а еще производит индексацию всей информации на сайте дабы увеличить скорость обработки запроса и выдачи результата. Используется, как правило, на сайтах с очень большим количеством информации. Кстати, точно также как и Google индексирует все страницы, а потом использует эти данные при поиске. Хотя у Google все построено намного сложнее.
Update: Сейчас google значительно расширил и упростил настройку – поэтому можно запросто использовать все его подсказки и предоставляемые коды, вместо html, приведенного в посте.
Во многих системах управления контентом механизм поиска по сайту предусмотрен по умолчанию в базовой версии либо через установку дополнительных модулей и плагинов. Но что делать, если вы не используете какую-либо CMS, но хотите добавить поиск по сайту. В этом случае вам поможет Google Search. Есть 2 пути установить этот сервис. Рассмотрим их оба.
Первым в поисковике я нашел Custom Search Engine. Что удивительно найти его второй раз (когда непосредственно занимался написанием заметки) оказалось немного сложнее – пришлось потратить около 5-10ти минут:) Стартовую страницу для этого сервиса можно найти здесь. Для продолжения работы вам придется войти под логином и паролем вашей учетной записи. Как говорится в описании, данный поиск предоставляет такие возможности как:
- включить в область поиска сразу несколько сайтов или страниц
- подобрать цвета для оформления блока дабы они вписались в стиль вашего сайта
- выводить результаты поиска как на вашем сайте, та на Google.
Чтобы создать блок поиска жмем кнопку «Create a Custom Search Engine», после чего попадаем на страницу с первым шагом по созданию. Здесь задаются некоторые параметры вашего будущего блока поиска – наименование, описание, по каким сайтам искать и показывать ли рекламу от Google при выведении результатов. Как только мы ввели все необходимые данные, отмечаем галочку «I have read and agree to the Terms of Service» (соглашаемся с условиями) и жмем Next. На втором шаге нам предлагают потестировать только что созданный поиск и нажать кнопку Finish для завершения процесса.
После этого мы попадает в панель управления персональными блоками поиска (Custom Search Engine), которые мы создали. Здесь в менюшке справа можно выбрать почитать о сервисе (Overview), создать еще один поисковый движок (New search engine), посмотреть созданные вами движки (My search engines), отредактировать профайл (My profile), заценить существующие варианты решения для поиска (Featured examples), посмотреть документацию (Documentation) или блог (Blog), заметки от службы поддержки (Support) и т.д.
В центре же можно увидеть перечень ваших поисков с некоторыми функциями по каждому из них. Это:
homepage – типа стартовая страница, где можно увидеть ваш поиск и некоторую инфу с вашего профайла.
statistics – статистика (у меня не работала).
delete – удаление поиска.
control panel – содержит еще одно подменю по управлению поиском. Во всем я не разбирался, выделю лишь пункты Look and feel, где можно выбирать внешний вид поиска, Code – здесь получаем код блока, Basics – все настройки, что мы когда-то делали на шаге1 при создании.
Кстати, данный сервис доступен и в Бизнес-варианте за скромные 100 долларов в месяц. Правда, никаких особых преимуществ я там не увидел.
Что хочется сказать в итоге. Мое знакомство с данным сервисом оказалось достаточно поверхностным, поскольку нужного мне решения я так здесь и не нашел. Возможно, просто требовалось немного больше поискать и разобраться, но, увы, время поджимало и пришлось воспользоваться вариантом2, который я нашел на 3-4х других сайтах.
Итак, предлагаю вашему вниманию код второго варианта, который запросто можно использовать на своем сайте:
<!– SiteSearch Google –>
<form method="get" action="http://www.google.com/custom" target="google_window">
<div class="gogle"><img src="fileadmin/templates/images/gogle.gif" alt="" border="0" height="26" width="72">
<input name="domains" value="<strong>www.yoursite.com</strong>" type="hidden">
<input name="q" size="20" maxlength="255" value="" class="inp" type="text">
<input name="sa" class="button" value="" type="submit">
<input name="sitesearch" value="<strong>www.yoursite.com</strong>" checked="checked" class="rd" type="radio"> По сайту
<input name="sitesearch" value="" class="rd2" type="radio"> В интеренете
<input name="forid" value="1" type="hidden">
<input name="ie" value="utf-8" type="hidden">
<input name="oe" value="utf-8" type="hidden">
<input name="cof" value="GALT:#008000;GL:1;DIV:#336699;VLC:663399;AH:center;BGC:FFFFFF;LBGC:336699;ALC:0000FF;LC:0000FF;T:000000;GFNT:0000FF;GIMP:0000FF;FORID:1;" type="hidden">
<input name="hl" value="ru" type="hidden">
</div>
</form>
<!– SiteSearch Google –>
В этом коде нужно только заменить www.yoursite.com на адрес вашего сайта, а также проверить, чтобы кодировка соответствовала используемой вами на своем сайте. Кроме того, внимание! – в последнем input значение переменной value должно быть без пробелов. В примере выше оно было разбито на 2 строки, так как не помещалось в данный шаблон. Также советую внимательно просмотреть вставляемый на сайт код, т.к. только заметил, что при копировании его в блокнот двойные кавычки заменяются на неправильные символы – ”. Будьте внимательны.
Внимание! В коде также может быть строка:
<input name="client" value="pub-xxxxxxxxxxxxxxxx" type="hidden">
В ней содержится ID пользователя в Google Adsence. На одном сайте встретил информацию, что для получению кода поиска нужно быть зарегистрированным в Google AdSense. Поэтому если у вас нет такой учетной записи строку лучше удалить, т.к. деньги за рекламу из формы поиска будут уходить не вам. За подсказку спасибо John`у.
Внимание! Если есть что сказать по теме, пишите в комментарии, расширю описание.
UPD: Сейчас google значительно расширил и упростил настройку – поэтому можно запросто использовать все его подсказки и предоставляемые коды, вместо html, приведенного в посте.
P.P.S. С переносом на свой домен тоже возникли небольшие проблемы. Дело в том, что получилось добавить запись CNAME только для домена с www. Запись без этой приставки создаваться отказалась. Посмотрел уже у некоторых блоггеров, которые перенесли свои блоги от Blogger.com на отдельный домен – такая же проблема. Интересно они об этом знают:)
Читал на англоязычных ресурсах – многие пишут, что сталкивались с подобными проблемами. Конкретного решения так и не нашел. На одном блоге обнаружил интересный скрин, а в посте от 5го числа этого месяца под заголовком «Custom Domains – An Improvement?» (Собственный домен – улучшение?) рассказывается о каком-то новом параметре позволяющем сделать переадресацию с домена без www на домен с www. Может и наоборот доступно! К сожалению, в панели управления блогом я такого не нашел.
Хотя, скорее всего, некоторые блоггеры умудряются как-то организовать переадресацию и без этого параметра. Забугром пару таких ресурсов нашел, а вот в РУнете нет. Если у кого-то есть опыт подобной фишки – прошу поделиться в комментариях.