GoolagRU - использование Google Desktop Search в локальной сети небольшой фирмы

Аватар пользователя JT

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.

Установка скрипта на сервер

  1. Установите Google Desktop Search версии не ниже 5.
  2. Установите или поднимите локальный веб-сервер с 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.
  3. Распакуйте архив скрипта в корневую папку сервера (папка "localweb" по умолчанию):
  4. Запустите редактор реестра (Пуск » Выполнить » regedit)
    Откройте следующий ключ:
    HKEY_CURRENT_USER\Software\Google\Google Desktop\API\search_url
    и скопируйте код безопасности установленного GDS.
  5. Откройте файл скрипта "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, и то не всегда.

Разработчики

  • Оригинальный скрипт: Peter Zhou и его проект Soogle.
  • Модификация скрипта под GDS 5: Alexis du SAUSSAY и его проект Goolag.
  • Модификация скрипта под русскую локализацию: JT.

Комментарии

Flash

Можно ли настроить GoolagRu на открытие самих документов, а не папок где эти документы находятся?

пт, 05/20/2016 - 12:42
JT
Да, можно, смотрите оригинальный скрипт на http://www.asabox.com/goolag/index_en.htm
сб, 05/21/2016 - 21:55