部署 Norconex HTTP Collector 索引器插件

本指南面向 Google Cloud Search Norconex HTTP Collector 索引器插件管理员,即负责下载、部署、配置和维护索引器插件的人员。本指南假定您熟悉 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 文档和 Gmail 等 Google Workspace 产品中发现所需内容、将其编入索引并提供给用户。您可以通过部署开源企业网页抓取工具 Norconex HTTP Collector 的索引器插件,进一步扩大 Google Cloud Search 的覆盖范围以向用户提供网页内容。

配置属性文件

要让索引器插件能够执行网页抓取并将内容上传到索引 API,索引器插件管理员需要在本文档部署步骤部分所述的配置步骤中提供特定信息。

要使用索引器插件,您必须在两个配置文件中设置属性:

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

文件中的相关属性让 Google Cloud Search 索引器插件和 Norconex HTTP Collector 能够相互通信。

网页抓取和内容上传

设置好配置文件后,您就可以启动网页抓取了。Norconex HTTP Collector 会进行网页抓取,发现与其配置相关的文档内容,并将原始二进制(或文本)版本的文档内容上传到 Cloud Search 索引 API,在该 API 中,相应内容会被编入索引并最终提供给您的用户。

支持的操作系统

Google Cloud Search Norconex HTTP Collector 索引器插件必须安装在 Linux 系统中。

支持的 Norconex HTTP Collector 版本

Google Cloud Search Norconex HTTP Collector 索引器插件支持 2.8.0 版。

ACL 支持

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

如果在 Google Cloud Search 插件配置中启用了默认 ACL(defaultAcl.mode 设置为 none 以外的值,并配置为 defaultAcl.*),索引器插件会首先尝试创建一个默认的 ACL,继而进行使用。

如果未启用默认 ACL,则插件将可以读取整个 Google Workspace 网域内的内容。

要了解 ACL 配置参数的详细说明,请参阅 Google 提供的连接器参数

前提条件

在部署索引器插件之前,请确保您拥有以下必需组件:

  • Java JRE 1.8(安装于运行该索引器插件的计算机上)
  • 为 Cloud Search 和 Norconex HTTP Collector 建立联系所需的 Google Workspace 信息:

    一般来说,网域的 Google Workspace 管理员可以为您提供这些凭据。

部署步骤

要部署索引器插件,请按照以下步骤操作:

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

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

  1. 在此页面下载 Norconex 提交程序软件。
  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.3mvn package(如需在构建连接器时跳过测试,请使用 mvn package -DskipTests。)
  5. cd target
  6. 将构建的插件 jar 文件复制到 norconex lib 目录中。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 Collector 的目录中:
    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 相同或高于目标版本时,才复制源 Jar)

第 2 步:配置 Google Cloud Search

要将索引器插件连接到 Norconex HTTP Collector 并为相关内容编制索引,您必须在安装了 Norconex HTTP Collector 的 Norconex 目录中创建 Cloud Search 配置文件。Google 建议您将 Cloud Search 配置文件命名为 sdk-configuration.properties

此配置文件必须包含用于定义参数的键值对。配置文件必须至少指定以下参数,这些参数是访问 Cloud Search 数据源所必需的。

设置 参数
数据源 ID api.sourceId = 1234567890abcdef
必填。由 Google Workspace 管理员设置的 Cloud Search 源 ID。
服务账号 api.serviceAccountPrivateKeyFile = ./PrivateKey.json
必填。由 Google Workspace 管理员为访问索引器插件而创建的 Cloud Search 服务账号密钥文件。

以下示例展示了 sdk-configuration.properties 文件。

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

此配置文件还可以包含 Google 提供的配置参数。这些参数可影响此插件将数据推送到 Google Cloud Search API 的方式。例如,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>
可选。索引器插件将文档内容推送到 Google Cloud Search 索引器 API 时采用的格式。有效值包括:
  • 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> 节点中,可以包括:

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

您可以根据需要更改这些配置值。如需详细了解如何设置网页抓取,以及可用配置参数的完整列表,请参阅 HTTP Collector 的配置页面。

步骤 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 监控抓取程序的进度