Развертывание подключаемого модуля индексатора HTTP Collector Norconex

Это руководство предназначено для администраторов плагина индексатора Norconex HTTP Collector для Google Cloud Search, то есть для всех, кто отвечает за загрузку, развертывание, настройку и поддержку плагина индексатора. Предполагается, что вы знакомы с операционными системами Linux, основами веб-сканирования, XML и Norconex HTTP Collector .

В этом руководстве содержатся инструкции по выполнению основных задач, связанных с развертыванием плагина индексатора:

  • Загрузите программное обеспечение плагина индексатора
  • Настройте Google Cloud Search
  • Настройка Norconex HTTP Collector и веб-сканирования
  • Запустить сканирование веб-страниц и загрузить контент

Информация о задачах, которые должен выполнить администратор Google Workspace для сопоставления Google Cloud Search с плагином индексатора Norconex HTTP Collector, в данном руководстве не представлена. Подробнее об этих задачах см. в разделе Управление сторонними источниками данных .

Обзор плагина индексатора Cloud Search Norconex HTTP Collector

По умолчанию Cloud Search может обнаруживать, индексировать и обслуживать контент из продуктов Google Workspace, таких как Google Docs и Gmail. Вы можете расширить охват Google Cloud Search, включив в него предоставление веб-контента своим пользователям, развернув плагин индексатора для Norconex HTTP Collector , корпоративного веб-сканера с открытым исходным кодом.

Файлы свойств конфигурации

Чтобы включить плагин индексатора для выполнения веб-сканирования и загрузки контента в API индексирования, вы, как администратор плагина индексатора, предоставляете определенную информацию во время этапов настройки, описанных в этом документе в разделе Шаги развертывания .

Чтобы использовать плагин индексатора, необходимо задать свойства в двух файлах конфигурации:

  • {gcs-crawl-config.xml} — содержит настройки для Norconex HTTP Collector.
  • sdk-configuration.properties — содержит настройки для Google Cloud Search.

Свойства каждого файла позволяют плагину индексатора Google Cloud Search и Norconex HTTP Collector взаимодействовать друг с другом.

Веб-сканирование и загрузка контента

После заполнения файлов конфигурации у вас будут необходимые настройки для запуска сканирования веб-страниц . Norconex HTTP Collector сканирует веб-страницы, находит содержимое документов, соответствующее его конфигурации, и загружает исходные двоичные (или текстовые) версии содержимого документов в API индексирования Cloud Search, где оно индексируется и в конечном итоге предоставляется вашим пользователям.

Поддерживаемая операционная система

На Linux необходимо установить плагин индексатора Google Cloud Search Norconex HTTP Collector.

Поддерживаемая версия Norconex HTTP Collector

Плагин индексатора Google Cloud Search Norconex HTTP Collector поддерживает версию 2.8.0.

Поддержка ACL

Плагин индексатора поддерживает управление доступом к документам в домене Google Workspace с помощью списков контроля доступа (ACL).

Если в конфигурации плагина Google Cloud Search включены списки ACL по умолчанию ( defaultAcl.mode установлен в значение, отличное от none , и настроен с помощью defaultAcl.* ), плагин индексатора сначала попытается создать и применить ACL по умолчанию.

Если списки ACL по умолчанию не включены, плагин возвращается к предоставлению разрешения на чтение для всего домена Google Workspace.

Подробное описание параметров конфигурации ACL см. в разделе «Параметры соединителя, предоставленные Google» .

Предпосылки

Перед развертыванием плагина индексатора убедитесь, что у вас есть следующие необходимые компоненты:

  • Java JRE 1.8, установленная на компьютере, на котором запущен плагин индексатора
  • Информация Google Workspace, необходимая для установления связей между Cloud Search и Norconex HTTP Collector:

    Обычно эти учетные данные может предоставить администратор домена Google Workspace.

Этапы развертывания

Чтобы развернуть плагин индексатора, выполните следующие действия:

  1. Установите Norconex HTTP Collector и программное обеспечение плагина индексатора.
  2. Настройте Google Cloud Search
  3. Настройка Norconex HTTP Collector
  4. Настроить веб-сканирование
  5. Начать сканирование веб-страниц и загрузку контента

Шаг 1: Установка Norconex HTTP Collector и программного обеспечения плагина индексатора

  1. Загрузите программное обеспечение Norconex Commiter с этой страницы.
  2. Распакуйте загруженное программное обеспечение в папку ~/norconex/
  3. Клонируйте плагин коммитера с GitHub. git clone https://github.com/google-cloudsearch/norconex-committer-plugin.git и затем cd norconex-committer-plugin
  4. Проверьте нужную версию плагина коммитера и соберите ZIP-файл: git checkout tags/v1-0.0.3 и mvn package (чтобы пропустить тесты при сборке коннектора, используйте mvn package -DskipTests .)
  5. cd target
  6. Скопируйте jar-файл собранного плагина в каталог lib norconex. cp google-cloudsearch-norconex-committer-plugin-v1-0.0.3.jar ~/norconex/norconex-collector-http-{version}/lib
  7. Извлеките только что созданный вами ZIP-файл, затем распакуйте файл: unzip google-cloudsearch-norconex-committer-plugin-v1-0.0.3.zip
  8. Выполните скрипт установки, чтобы скопировать .jar плагина и все необходимые библиотеки в каталог http-сборщика:
    1. Перейдите к извлеченному плагину коммитера, распакованному выше: cd google-cloudsearch-norconex-committer-plugin-v1-0.0.3
    2. Выполните $ sh install.sh и при появлении соответствующего запроса укажите полный путь к norconex/norconex-collector-http-{version}/lib в качестве целевого каталога.
    3. Если обнаружены дубликаты JAR-файлов, выберите вариант 1 (Копировать исходный JAR-файл только в том случае, если его версия выше или совпадает с версией целевого JAR-файла после переименования целевого JAR-файла).

Шаг 2: Настройте Google Cloud Search

Чтобы плагин индексатора мог подключиться к Norconex HTTP Collector и проиндексировать соответствующий контент, необходимо создать файл конфигурации Cloud Search в каталоге Norconex, где установлен Norconex HTTP Collector. Google рекомендует назвать файл конфигурации Cloud Search sdk-configuration.properties .

Этот файл конфигурации должен содержать пары «ключ/значение», определяющие параметр. В файле конфигурации должны быть указаны как минимум следующие параметры, необходимые для доступа к источнику данных Cloud Search.

Параметр Параметр
Идентификатор источника данных api.sourceId = 1234567890abcdef
Обязательно. Идентификатор источника Cloud Search, настроенный администратором Google Workspace.
Учетная запись службы api.serviceAccountPrivateKeyFile = ./PrivateKey.json
Обязательно. Файл ключа учётной записи службы Cloud Search, созданный администратором Google Workspace для обеспечения доступности плагина индексатора.

В следующем примере показан файл sdk-configuration.properties .

#
# data source access
api.sourceId=1234567890abcdef
api.serviceAccountPrivateKeyFile=./PrivateKey.json
#

Файл конфигурации также может содержать параметры конфигурации, предоставленные Google. Эти параметры могут влиять на то, как плагин отправляет данные в API Google Cloud Search. Например, набор параметров batch.* определяет, как коннектор объединяет запросы.

Если параметр не определён в файле конфигурации, используется значение по умолчанию (если оно доступно). Подробное описание каждого параметра см. в разделе «Параметры коннектора, предоставляемые Google» .

Вы можете настроить плагин индексатора для заполнения метаданных и структурированных данных индексируемого контента. Значения для полей метаданных и структурированных данных можно извлечь из метатегов индексируемого HTML-контента или указать значения по умолчанию в файле конфигурации.

Параметр Параметр
Заголовок itemMetadata.title.field= movieTitle
itemMetadata.title.defaultValue= Gone with the Wind
По умолчанию плагин использует HTML title в качестве заголовка индексируемого документа. Если заголовок отсутствует, вы можете обратиться к атрибуту метаданных, содержащему значение, соответствующее заголовку документа, или задать значение по умолчанию.
Созданная временная метка itemMetadata.createTime.field= releaseDate
itemMetadata.createTime.defaultValue= 1940-01-17
Атрибут метаданных, содержащий значение метки времени создания документа.
Время последнего изменения itemMetadata.updateTime.field= releaseDate
itemMetadata.updateTime.defaultValue= 1940-01-17
Атрибут метаданных, содержащий значение метки времени последнего изменения документа.
Язык документа itemMetadata.contentLanguage.field= languageCode
itemMetadata.contentLanguage.defaultValue= en-US
Язык содержимого индексируемых документов.
Тип объекта схемы itemMetadata.objectType= movie
Тип объекта, используемый сайтом, как указано в определениях объектов схемы источника данных . Коннектор не будет индексировать структурированные данные, если это свойство не указано.

Примечание : это свойство конфигурации указывает на значение, а не на атрибут метаданных, а суффиксы .field и .defaultValue не поддерживаются.

Форматы даты и времени

Форматы даты и времени определяют ожидаемые форматы атрибутов метаданных. Если файл конфигурации не содержит этот параметр, используются значения по умолчанию. Этот параметр представлен в следующей таблице.

Параметр

Параметр

Дополнительные шаблоны даты и времени

structuredData.dateTimePatterns=MM/dd/uuuu HH:mm:ssXXX

Список дополнительных шаблонов java.time.format.DateTimeFormatter, разделённых точкой с запятой. Эти шаблоны используются при разборе строковых значений любых полей даты или даты-времени в метаданных или схеме. Значение по умолчанию — пустой список, но форматы RFC 3339 и RFC 1123 всегда поддерживаются.

Шаг 3: Настройка Norconex HTTP Collector

ZIP-архив norconex-committer-google-cloud-search-{version}.zip содержит пример файла конфигурации minimum-config.xml .

Google рекомендует начать настройку с копирования файла-примера:

  1. Перейдите в каталог Norconex HTTP Collector:
    $ cd ~/norconex/norconex-collector-http-{version}/
  2. Скопируйте файл конфигурации:
    $ cp examples/minimum/minimum-config.xml gcs-crawl-config.xml
  3. Отредактируйте вновь созданный файл (в этом примере gcs-crawl-config.xml ) и добавьте или замените существующие узлы <committer> и <tagger> , как описано в следующей таблице.
Параметр Параметр
<committer> node <committer class="com.norconex.committer.googlecloudsearch. GoogleCloudSearchCommitter">

Обязательно. Чтобы включить плагин, необходимо добавить узел <committer> в качестве дочернего узла корневого узла <httpcollector> .
<UploadFormat> <uploadFormat>raw</uploadFormat>
Необязательный параметр. Формат, в котором плагин индексатора отправляет содержимое документа в API индексатора Google Cloud Search. Допустимые значения:
  • raw : плагин индексатора отправляет оригинальное, неконвертированное содержимое документа.
  • text : плагин индексатора отправляет извлеченный текстовый контент.

Значение по умолчанию — raw .
BinaryContent Tagger <tagger> node <tagger class="com.norconex.committer.googlecloudsearch.BinaryContentTagger"/>
Требуется, если значение <UploadFormat>raw . В этом случае плагину индексатора необходимо, чтобы поле двоичного содержимого документа было доступно.

Необходимо добавить узел BinaryContentTagger <tagger> как дочерний элемент узла <importer> / <preParseHandlers> .

В следующем примере показаны необходимые изменения в gcs-crawl-config.xml .

<committer class="com.norconex.committer.googlecloudsearch.GoogleCloudSearchCommitter">
    <configFilePath>/full/path/to/gcs-sdk-config.properties</configFilePath>
    
    <uploadFormat>raw</uploadFormat>
</committer>
<importer>
  <preParseHandlers>
    <tagger class="com.norconex.committer.googlecloudsearch.BinaryContentTagger"/>
  </preParseHandlers>
</importer>

Шаг 4: Настройка веб-сканирования

Перед запуском сканирования веб-страниц необходимо настроить его так, чтобы оно включало только ту информацию, которую ваша организация хочет видеть в результатах поиска. Наиболее важные настройки сканирования веб-страниц находятся в узлах <crawler> и могут включать:

  • Начальные URL-адреса
  • Максимальная глубина сканирования
  • Количество потоков

Измените эти параметры конфигурации в соответствии со своими потребностями. Более подробную информацию о настройке веб-сканирования, а также полный список доступных параметров конфигурации см. на странице конфигурации HTTP-сборщика.

Шаг 5: Запуск сканирования веб-страниц и загрузки контента

После установки и настройки плагина индексатора вы можете запустить его самостоятельно в локальном режиме.

В следующем примере предполагается, что необходимые компоненты находятся в локальном каталоге системы Linux. Выполните следующую команду:

$ ./collector-http[.bat|.sh] -a start -c gcs-crawl-config.xml

Мониторинг сканера с помощью JEF Monitor

Norconex JEF (Job Execution Framework) Monitor — это графический инструмент для мониторинга хода выполнения процессов и заданий Norconex Web Crawler (HTTP Collector). Полное руководство по настройке этой утилиты см. в статье «Мониторинг хода выполнения вашего поискового робота с помощью JEF Monitor» .