Проснулся утром и подумал. Вот не работает поиск на сайте корректно. Много документов и медленно индексируются. Нет учёта словоформ и другие проблемы. А почему бы не попробовать искать, например, гуглом - он ведь всё равно индексирует сайт!
Я видел уже формы для поиска на сайтах, но они открывают страницу результатов поиска (SERP=серп) в отдельном окне, а не встраивают в сайт...
Но у гугла есть API и можно его использовать для получения результатов, а затем встраивать их в страницы сайта. Красиво!
Но перед тем как что-то делать по старой традиции нужно... поискать!
Запрос google на drupal.org дал очень много результатов. Утро всё таки - мозг ещё не проснулся. Указываю, что нужны уже существующие модули (Project) в настройках расширенного поиска и ... его АЖ 3 (!!!) готовых к употреблению модулей. Разогрел и можно есть.
Вот они герои дня:
Был бы один модуль - не было бы проблемы выбора и этой статьи тоже не было бы.
Проведём визуальный осмотр претендентов:
Google Custom Search Engine
- 5.x-1.4
- Use a Google Custom Search Engine to search your site and/or any other sites.
- Проект начат: March 29, 2007
- Перевод от vadbars@drupal.org: http://www.drupal.ru/node/4439. Он входит в эту версию релиза.
- Релизы периодично раз в 2 месяца с начала года для 5й версии Друпал.
Google Search
- 5.x-1.0
- Lets users easily search a site with [http://www.google.com/searchcode.html Google SiteSearch].
- Проект начат: August 27, 2006
- Перевода нет.
- Последний релиз - январь 2007
Google Ajax Search Module
- 5.x-1.0
- Filter to allow insertion of Google Ajax Search engine.
- Проект начат: October 26, 2006
- Это первый релиз для D5
Результат анализа общедоступных данных:
Проверил каждый модуль на наличе сообщений об ошибках на drupal.org. Критических и нерешённых ни у кого нет...
- Google Custom Search Engine. Наличие перевода говорит о том, что кто-то уже обратил на него своё внимание. Кроме того, номер версии 1.4 и релизы выходят периодично с начала года - это намекает на то, что автор занимается проектом.
- Google Search. Проект начат в августе 2006го. А релиз для 5й версии - от января 2007 года. Это говорит о том, что либо модуль очень простой и ошибок в нём нет или то, что автор проект забросил - нужно посмотреть очередь сообщений об ошибках. Перевода нет....
- Google Ajax Search Module. Версия 1.0, а проект начат аж в окрябре 2006го. Это не есть хорошо. На странице ошибок большая активность: http://drupal.org/project/issues/googleajaxsearch. Последний ответ автора: May 23, 2007. Это тоже плохо!
Самым привлекательным я нахожу Google Custom Search Engine.
Зачем вся эта возня? Можно ведь поставить и посмотреть как работает! Можно, если есть свободное время - у меня его нет. Если можно анализируя доступную информацию сделать выбор и не ставить каждый модуль, чтобы проверить - я так и сделаю.
Что же делать дальше? Можно ли на этом остановиться и использовать выбранный модуль? Можно, но у меня есть определённые требования функционалу модуля. Если он всё это может - я буду его использовать и даже не посмотрю остальные.
Итак, мои требования:
- Полнотекстовый поиск.
- Без рекламы (это возможно для некоммерческих, государственных и ещё каких-то организаций). Но модуль должен предоставлять возможность это сделать.
- Страница поиска должна интегрироваться в страницу сайта, а не открываться в новом окне.
- Возможность настроить стиль СЕРПа
Не обязательно, но желательно:
- Поиск по этому и нескольким другим сайтам (на случай, если ничего не найдено).
- Использование Ajax при вводе ключевых слов, но это не обязательно.
Ставим модуль Google Custom Search Engine и смотрим...
==Обзор Google Custom Search Engine==
- Перевод не полный. Видимо что-то меняли в новых версиях.
- Требуется включённый модуль "Чистые Ссылки".
- Нужно получить "Идентификатор пользовательской поисковой системы Google" - это хорошо. Есть вероятность поддержки всяческих функций.
- Есть настройка блока поиска.
- Есть возможность добавить кнопку "Добавить в Google"
- Для показа СЕРПа на сайте нужен JS, если его нет, то можно показывать результат на сайте Google.
- Блок "Google Co-op CSE" - только стандартные настройки для блока.
- Ajax'a нет -ну и ладно.
СЕРП:
- Внизу подпись Гугла.
- В шапке - лого Google Co-op.
Глюки:
- Для встраивания результата использует iframe и когда я жму ссылку "Вернуться" на странице результатов - он в этом фрейме показывает всю предыдущую страницу.... Смешно выглядит - каша да и всё. Кнопка браузера "Назад" работает как надо!
Я думаю, что для меня он подходит. Поздравляю коллега - одной проблемой меньше.
А теперь смотрим перевод... Не хватает перевода 8 строк. Есть работа для Черного Плаща!
Комментарии
Что-то я не понял. А как же, скажем, Яндекс.Сервер? Или его к нам в Друпал нельзя, что ли, встроить?
Предлагайте. Такие же возможности есть у многих поисковиков. Я не в состоянии охватить всё. Если вы знаете - напишите.
Ставил этот модуль, но мне не понравилась реализация вывода результата в текущем окне, при выводе в окно google работает просто превосходно. Сейчас разбираюсь с реализацией js от гугл, там есть код для вывода в текущее окно, но для него запрос должен отправляться только в виде get, хочу переделать под post ну и сделать возможность использовать несколько поисковых машин на выбор пользователя. Кстати вывод без рекламы по правилам google только для зарегистрированных некоммерческих и правительственных организаций и университетов.
возможность использовать несколько поисковых машин на выбор пользователя.
Это есть в каком-то модуле.
VladSavitsky, спасибо, по-моему, это лучший из Ваших постов на drupal.ru (из тех, что я читал).
Главное, чтобы на пользу.
А как сделать его поиском по умолчанию. Просто у меня он сначала ищет поиском кот в ядре был, а потом уже можно выбрать гугловский.
VladSavitsky у ВАС отличный сайт!!!!!
А что с форматированием? Не читабельно вовсе. А почитать охота )
Видимо при переходе друпал.ру на 6ку сбился формат. Сейчас попробую починить.
Починил. Хотя статья уже кажется устарела.
Кстати Google поиск достаточно легко встраивается в сайт и без использования дополнительных модулей
Пример работы поиска можно посмотреть на моем тестовом сайте shp.kz, я правда на нем давно же ничего не делал, но все работает отлично
преимущества встроенного - то что серп можно выводить в виде ноды