GoolagRU - использование Google Desktop Search в локальной сети небольшой фирмы
GoolagRU это скрипт на PHP, разработанный для работы локального поисковика Google Desktop Search (GDS) на удаленных компьютерах. Проект GDS, к сожалению, закрыт корпорацией Google и в настоящее время предлагается использовать Google Search Appliance. Но для многих фирм это дорогостоящее и громоздкое решение, тем более, что ему можно найти замену в виде старого доброго GDS.
GDS по умолчанию работает только на компьютерах, на которых он установлен. | |
GoolagRU разработан для обхода этого ограничения | |
Пример использования
- На сервере имеется общая сетевая папка. Эта папка подключена как сетевой диск на всех компьютерах фирмы, буква диска для всех одна и та же, например, Z:, с восстановлением сетевых подключений после перезагрузки.
- На сервере установлен GDS, которому запрещено индексировать все, кроме этой сетевой папки. Размер папки около 200Гб, размер индекса GDS - 4Гб, документов в индексе около 700тыс.
- На сервере установлен Apache + PHP и этот скрипт.
- Для доступа к поисковой выдаче GDS с любого компьютера фирмы достаточно в браузере зайти на этот сервер по его адресу в локальной сети.
Требования
К серверу :
- Установленный Google desktop search.
- Веб-сервер: Apache, IIS или аналогичный с поддержкой PHP
К клиентским компьютерам:
- Стандартный браузер, желательно IE
На сервере скрипт тестировался с Google Desktop 5.9.1005.12335-en-pb, Apache 2.4.7 и PHP 5.4.24.
У клиентов тестировались браузеры Опера, FF и IE.
Установка скрипта на сервер
- Установите Google Desktop Search версии не ниже 5.
- Установите или поднимите локальный веб-сервер с PHP. Я использовал сборку EasyPHP Development server версии 14.1, которая меня более чем устроила.
В настройках Apache в файл "httpd.conf" включите кодировку UTF-8:AddDefaultCharset UTF-8
Пропишите адрес и порт компьютера в локальной сети:Listen XXX.XXX.XXX.XXX:80
PHP настраивать не нужно, все по умолчанию. Для проверки правильности функционирования интерпретатора PHP наберите на клиентской машинеhttp://(адрес сервера)/php.php
, должна появиться информация об установленном PHP.
- Распакуйте архив скрипта в корневую папку сервера (папка "localweb" по умолчанию):
- Запустите редактор реестра (Пуск » Выполнить » regedit)
Откройте следующий ключ:
HKEY_CURRENT_USER\Software\Google\Google Desktop\API\search_url
и скопируйте код безопасности установленного GDS.
- Откройте файл скрипта "index.php" в любом текстовом редакторе. Я использовал Notepad++, он хорошо работает с разными кодировками. Отредактируйте первую незакомменченную строчку, вписав в нее код безопасности, полученный из реестра.
$GDSurl = 'http://127.0.0.1:4664/search&s=yTkzwGpZHu1NJNfDqE6_-0XMtgY';
Не забудьте кавычки в начале и в конце и уберите символы "?q=" - они не используются.
Использование на клиентских машинах
Запустите браузер и вбейте в адресную строку адрес сервера. Сделайте запрос, получите поисковую выдачу. По ссылке на документ должен открыться Проводник с папкой, содержащей этот документ.
Отличие от Goolag
- Добавлено логгирование запросов - в папке logs создается лог-файл с протоколом запросов к скрипту
- Основное отличие - нормальная работа с кириллицей. В исходном скрипте при запросе, содержащем русские символы приходили кракозябры и было смешение кодировок. При запросе цифр и английских слов все было ОК. GDS работает с СP1251, скрипт работает с UTF-8, поэтому ключевой запрос и пути к документам в нужных местах скрипта переводятся из одной кодировки в другую. В остальном это оригинальный скрипт Goolag.
- Изменено действие при нажатии на ссылку на найденный документ в выдаче - в исходном скрипте открывался сам файл, а здесь открывается папка, содержащая файл (так как на всех компьютерах она подключена одинаково). Это сделано для того, чтобы файлы не скачивались на компьютеры пользователей.
Известные проблемы и ограничения
Все проблемы перешли из исходного проекта Goolag.
Основная проблема - неверный подсчет количества поисковой выдачи при переходе на следующую/предыдущую страницы. Об этом подробнее можно прочитать на странице проекта Goolag.
Более всего для отображения выдачи подходит Internet Explorer'e - только он может открывать локальные линки типа file:///. FireFox тоже может, но только после установки расширения LocalLink, и то не всегда.
Разработчики
- Войдите или зарегистрируйтесь, чтобы отправлять комментарии
Комментарии
Можно ли настроить GoolagRu на открытие самих документов, а не папок где эти документы находятся?