本指南面向 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 Workspace 产品,例如 Google 文档和 Gmail。您可以将 包括通过 Google Cloud Search 为您的用户提供 Web 内容, 索引器插件 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 会进行网页抓取,发现与其配置相关的文档内容,并将原始二进制(或文本)版本的文档内容上传到 Cloud Search 索引 API,在该 API 中,相应内容会被编入索引并最终提供给您的用户。
支持的操作系统
Google Cloud Search Norconex HTTP Collector 索引器插件必须安装在 Linux 系统中。
支持的 Norconex HTTP Collector 版本
Google Cloud Search Norconex HTTP Collector 索引器插件支持版本 2.8.0.
ACL 支持
索引器插件支持控制对 Google Workspace 网域。
如果在 Google Cloud Search 插件配置中启用了默认 ACL
(defaultAcl.mode
已设置为 none
以外的值,并配置为 defaultAcl.*
),
索引器插件会先尝试创建并应用默认 ACL。
如果未启用默认 ACL,该插件会回退到授予读取权限 整个 Google Workspace 网域的用户。
要了解 ACL 配置参数的详细说明,请参阅 Google 提供的连接器参数。
前提条件
在部署索引器插件之前,请确保您拥有以下必需组件:
- Java JRE 1.8(安装于运行该索引器插件的计算机上)
在 Google Workspace 之间建立关系所需的 Google Workspace 信息 Cloud Search 和 Norconex HTTP Collector:
- Google Workspace 私钥 (包含服务账号 ID)
- Google Workspace 数据源 ID
通常情况下,网域的 Google Workspace 管理员可以提供 凭据
部署步骤
要部署索引器插件,请按照以下步骤操作:
- 安装 Norconex HTTP Collector 和索引器插件软件
- 配置 Google Cloud Search
- 配置 Norconex HTTP Collector
- 配置网页抓取
- 启动网页抓取和内容上传
第 1 步:安装 Norconex HTTP Collector 和索引器插件软件
- 在此页面下载 Norconex 提交程序软件。
- 将下载的软件解压缩到
~/norconex/
文件夹 - 从 GitHub 克隆提交程序插件。
git clone https://github.com/google-cloudsearch/norconex-committer-plugin.git
和 之后价格为cd norconex-committer-plugin
- 检出所需的提交程序插件版本并构建 ZIP 文件:
git checkout tags/v1-0.0.3
和mvn package
(用于在构建时跳过测试) 请使用mvn package -DskipTests
。) cd target
- 将构建的插件 jar 文件复制到 nonconex lib 目录中。
cp google-cloudsearch-norconex-committer-plugin-v1-0.0.3.jar ~/norconex/norconex-collector-http-{version}/lib
- 解压缩刚刚构建的 ZIP 文件,然后解压缩文件:
unzip google-cloudsearch-norconex-committer-plugin-v1-0.0.3.zip
- 执行安装脚本,复制插件的 .jar 文件以及所有必需的
放入 HTTP 收集器的目录中:
<ph type="x-smartling-placeholder">
- </ph>
- 切换到在上面解压缩的提交程序插件:
cd google-cloudsearch-norconex-committer-plugin-v1-0.0.3
- 执行
$ sh install.sh
并提供完整路径norconex/norconex-collector-http-{version}/lib
作为目标 目录中。 - 如果发现重复的 jar 文件,请选择选项
1
(仅复制源 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
网站使用的对象类型,如 <ph type="x-smartling-placeholder"></ph> 数据源架构对象定义。连接器不会将任何 结构化数据。
注意:此配置属性指向一个值,
元数据属性,而 |
日期时间格式
日期时间格式指定了元数据属性应采用的格式。 如果配置文件不包含此参数,则默认值为 。下表显示了此参数。
设置
参数
其他日期时间模式
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 建议您复制此示例文件来开始进行配置:
- 切换到 Norconex HTTP Collector 目录:
$ cd ~/norconex/norconex-collector-http-{version}/
- 复制配置文件:
$ cp examples/minimum/minimum-config.xml gcs-crawl-config.xml
- 修改新创建的文件(在此示例中为
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 。
|
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 监控抓取程序的进度。