部署 Norconex HTTP Collector 索引器插件

本指南面向负责下载、部署和维护 Google Cloud Search Norconex HTTP Collector 索引器插件的管理员。您应该熟悉 Linux、网页抓取基础知识、XML 和 Norconex HTTP Collector

本指南包含以下说明:

  • 下载索引器插件软件。
  • 配置 Cloud Search。
  • 配置 Norconex HTTP Collector 和网页抓取。
  • 启动网页抓取并上传内容。

对于 Google Workspace 管理员必须执行的任务的相关信息,本指南不做介绍。如需了解这些任务的相关信息,请参阅管理第三方数据源

Norconex HTTP Collector 索引器插件概览

默认情况下,Cloud Search 可以从 Google Workspace 产品(如 Google 文档和 Gmail)中查找所需内容、将其编入索引并提供给用户。您可以通过部署开源企业网页抓取工具 Norconex HTTP Collector 的索引器插件,将此范围扩展到网页内容。

配置属性文件

若要使插件能够抓取和上传内容,您必须在两个配置文件中提供特定信息:

  • {gcs-crawl-config.xml}:Norconex HTTP Collector 的设置。
  • sdk-configuration.properties:Cloud Search 的设置。

网页抓取和内容上传

设置好配置文件后,您就可以启动网页抓取了。Norconex HTTP Collector 会抓取网页,并将原始二进制或文本文档内容上传到 Cloud Search Indexing API。

系统要求

  • 操作系统:仅限 Linux。
  • Norconex 版本:版本 2.8.0。
  • 软件:Java JRE 1.8。

ACL 支持

索引器插件支持使用访问控制列表 (ACL) 来控制对 Google Workspace 网域中文档的访问权限。

如果您在插件配置中启用默认 ACL(defaultAcl.mode 设置为 none 以外的值),则插件会应用这些默认设置。否则,该插件会向整个网域授予读取权限。请参阅 Google 提供的连接器参数

前提条件

在部署索引器插件之前,请收集以下组件:

部署步骤

  1. 安装 Norconex HTTP Collector 和插件软件
  2. 配置 Cloud Search
  3. 配置 Norconex HTTP Collector
  4. 配置网页抓取
  5. 启动网页抓取和内容上传

第 1 步:安装 Norconex HTTP Collector 和插件软件

  1. 从 Norconex 下载页面下载 Norconex 提交程序软件。
  2. 将软件解压缩到 ~/norconex/
  3. 克隆提交者插件:

    git clone https://github.com/google-cloudsearch/norconex-committer-plugin.git
    cd norconex-committer-plugin
    
  4. 获取所选版本并构建插件:

    git checkout tags/v1-0.0.3
    mvn package
    

    如需跳过测试,请使用 mvn package -DskipTests

  5. 将 JAR 文件复制到 Norconex lib 目录:

    cp target/google-cloudsearch-norconex-committer-plugin-v1-0.0.3.jar ~/norconex/norconex-collector-http-VERSION/lib
    
  6. 提取构建的 ZIP 文件:

    unzip target/google-cloudsearch-norconex-committer-plugin-v1-0.0.3.zip
    cd google-cloudsearch-norconex-committer-plugin-v1-0.0.3
    
  7. 运行安装脚本,并提供 Norconex lib 目录的完整路径

    sh install.sh
    

    如果系统提示存在重复文件,请选择选项 1

第 2 步:配置 Cloud Search

在 Norconex 目录中创建 sdk-configuration.properties。该文件必须指定以下参数:

设置 参数
数据源 ID api.sourceId = 1234567890abcdef
必需。Google Workspace 管理员提供的来源 ID。
服务账号 api.serviceAccountPrivateKeyFile = ./PrivateKey.json
必需。服务账号密钥文件。

sdk-configuration.properties 示例:

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

您还可以添加 batch.* 等参数来控制插件推送数据的方式。请参阅 Google 提供的连接器参数

如需填充元数据,请配置以下可选参数:

设置 参数
标题 itemMetadata.title.field=movieTitle
架构对象类型 itemMetadata.objectType=movie

第 3 步:配置 Norconex HTTP Collector

该插件包含一个示例文件 minimum-config.xml

  1. 切换到 Norconex 目录并复制示例:

    cd ~/norconex/norconex-collector-http-VERSION/
    cp examples/minimum/minimum-config.xml gcs-crawl-config.xml
    
  2. 修改 gcs-crawl-config.xml 以添加或替换 <committer><tagger> 节点:

设置 参数
<committer> 个节点 <committer class="com.norconex.committer.googlecloudsearch.GoogleCloudSearchCommitter">
必需。在 <httpcollector> 节点下添加此内容。
<uploadFormat> <uploadFormat>raw</uploadFormat>
可选。rawtext。默认值为 raw

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> 节点,包括:

  • 启动网址
  • 抓取深度上限
  • 线程数

请参阅 Norconex 配置页面

第 5 步:启动网页抓取并上传内容

以本地模式运行收集器:

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

通过 JEF Monitor 监控抓取工具

Norconex JEF (Job Execution Framework) Monitor 可提供进度图形视图。请参阅通过 JEF Monitor 监控抓取工具