您可将 Google Cloud Search 设为返回贵组织的结果 除 Google Workspace 内容外,还可通过 Microsoft Windows 共享内容。您 请使用 Google Cloud Search 文件系统连接器,并将其配置为 指定的 Windows 共享。单个连接器实例可以支持多个 Microsoft Windows 共享。
重要注意事项
持续自动更新
默认情况下,连接器启动时会持续监控起始路径(连接器配置文件中 fs.src
的值)。当文件系统报告内容或访问权限控制的更改时,就会触发连接器重新抓取文件系统。这种重新抓取可能会消耗大量资源。如需关闭文件系统监控功能,请将 fs.monitorForUpdates
设置为 false
。您可以显著减少连接器的资源使用量,但会延迟连接器反映更改的情况。了解详情
DFS 访问控制
DFS 系统会对其链接应用访问权限控制,通常每个 DFS 链接都有自己的 ACL。DFS 使用的一种机制是基于访问权限的枚举 (ABE),它可以限制返回给用户的 DFS 链接。当 ABE 隔离托管主目录时,用户可能只会获得一部分 DFS 链接,甚至只会得到一个链接。当连接器遍历 DFS 系统时,连接器会遵循 DFS 链接 ACL 和目标的共享 ACL,并且共享 ACL 继承自 DFS ACL。
已知限制
- 文件系统:文件系统连接器不支持映射驱动器和本地驱动器。
- 分布式文件系统:映射到 UNC DFS 的驱动器无法正常工作。部分 ACL 的读取不正确。
- 文件系统连接器支持分布式文件系统 (DFS) 命名空间和链接。但是,连接器仅支持 DFS 命名空间中的 DFS 链接,而不支持 DFS 命名空间中的常规文件夹。
- cloudsearch.google.com 中返回的文件链接无法点击。在大多数浏览器中,Query API 返回的文件链接也无法点击。
系统要求
系统要求 | |
---|---|
操作系统 |
|
软件 |
|
文件系统协议 |
不支持:本地 Windows 文件系统、Sun Network File System (NFS) 2.0、Sun Network File System (NFS) 3.0 或本地 Linux 文件系统。 |
部署连接器
前提条件
在部署 Cloud Search 文件系统连接器之前,请确保您的 环境具备以下所有必备组件:
在 Google Cloud Search 和数据源之间建立关系所需的 Google Workspace 信息:
- Google Workspace 私钥(包含服务账号 ID)。对于 有关如何获取私钥的信息,请访问 配置对 Google Cloud Search REST API 的访问权限。
- Google Workspace 数据源 ID。有关获取数据源 ID 的信息, 转到 添加要搜索的数据源。
- 身份源 ID。有关如何获取身份源的信息 ID,请前往 创建身份源。如果您将 Google Workspace 目录与 Active Directory 同步,请使用 GCDS 设置身份源。
贵组织的 Google Workspace 管理员通常可以为您获取这些凭据。
确保 Windows 账号具有足够的权限,如以下部分所述。
所需的 Microsoft Windows 账号权限
运行连接器的 Microsoft Windows 账号必须具有足够的权限才能执行以下操作:
- 列出文件夹的内容
- 读取文档的内容
- 读取文件的属性和文件夹的属性
- 读取对文件和文件夹的权限 (ACL)
- 写入基本特性权限
以下某个群组中的成员可为 Windows 账号授予连接器所需的足够权限:
- 管理员
- 高级用户
- 打印操作员
- 服务器操作员
第 1 步:安装 Google Cloud Search 文件系统连接器
从 GitHub 获取连接器代码库并进行构建。
如需在 Windows 服务器上使用 git,请执行以下操作:
克隆代码库:
> git clone https://github.com/google-cloudsearch/windows-filesystems-connector.git > cd windows-filesystems-connector
检出所需的连接器版本:
> git checkout tags/v1-0.0.3
如需直接从 GitHub 下载,请执行以下操作:
- 转到 https://github.com/google-cloudsearch/windows-filesystems-connector。
- 点击克隆或下载 下载 zip。
- 解压缩该软件包。
- 移至新目录:
> cd windows-filesystems-connector
构建连接器。如有必要,请安装 Apache Maven。
> mvn package
如需在构建连接器时跳过测试,请运行
mvn package -DskipTests
而不是mvn package
。将连接器 zip 文件复制到本地安装目录:
> cp target/google-cloudsearch-windows-filesystems-connector-v1-0.0.3.zip installation-dir > cd installation-dir > unzip google-cloudsearch-windows-filesystems-connector-v1-0.0.3.zip > cd google-cloudsearch-windows-filesystems-connector-v1-0.0.3
第 2 步:创建连接器配置文件
在连接器安装所在的目录中,创建一个文件并将其命名为
connector-config.properties
。将参数作为键值对添加到文件内容中,如以下示例所示:
### File system connector configuration ### # Required parameters for Cloud Search data source and identity source access api.serviceAccountPrivateKeyFile=/path/to/file.json api.sourceId=0123456789abcde api.identitySourceId=a1b1c1234567 # Required parameters for file system access fs.src=\\\\host\\share;\\\\dfshost\\dfsnamespace;\\\\dfshost\\dfsnamespace\\link # Optional parameters for file system monitoring traverse.abortAfterExceptions=500 fs.monitorForUpdates = true fs.preserveLastAccessTime = IF_ALLOWED
(可选)根据需要配置其他连接器参数。如需了解详情,请参阅 Google 提供的连接器参数。
第 3 步:启用日志记录
- 在包含连接器的目录中创建一个名为
logs
的文件夹 二进制文件 创建一个名为
logging.properties
的 ASCII 或 UTF-8 文件,在 目录中,然后添加以下内容:handlers = java.util.logging.ConsoleHandler,java.util.logging.FileHandler # Default log level .level = WARNING com.google.enterprise.cloudsearch.level = INFO com.google.enterprise.cloudsearch.fs.level = INFO # uncomment line below to increase logging level to enable API trace #com.google.api.client.http.level = FINE java.util.logging.ConsoleHandler.level = INFO java.util.logging.FileHandler.pattern=logs/connector-fs.%g.log java.util.logging.FileHandler.limit=10485760 java.util.logging.FileHandler.count=10 java.util.logging.FileHandler.formatter=java.util.logging.SimpleFormatter
第 4 步:(可选)配置媒体类型
默认情况下,该连接器会尝试检测每个带有以下标记的每个文件的媒体类型 JDK 提供 媒体类型检测。在 Microsoft Windows 上,JDK 依赖于 Windows 注册表 确定文件的媒体类型。缺少注册表条目可能会导致 null 媒体类型。
如有必要,您可以指定覆盖任何现有绑定或防止出现 null 媒体类型的媒体类型。
- 在连接器目录中,创建一个名为
mime-type.properties
的 Latin-1 加密文件。 输入文件扩展名及其对应的媒体类型,如以下示例所示:
xlsx=application/vnd.openxmlformats-officedocument.spreadsheetml.sheet one=application/msonenote txt=text/plain pdf=application/pdf
第 5 步:运行文件系统连接器
安装并配置文件系统连接器后,要在 请运行如下命令:
> java -jar google-cloudsearch-windows-filesystems-connector-v1-0.0.3.jar -Djava.util.logging.config.file=logging.properties[ -Dconfig=my.config]
如果配置文件路径与默认值不同,请指定配置文件路径(与二进制文件在同一目录中,名称为 connector-config.properties
)。
配置参数参考
数据源访问权限
设置 | 参数 |
数据源 ID | api.sourceId=1234567890abcdef
必需。由 Google Workspace 管理员设置的 Google Cloud Search 源 ID。 |
服务账号私钥文件的路径 | api.serviceAccountPrivateKeyFile=./PrivateKey.json
必需。访问 Google Cloud Search 文件系统连接器所需的 Google Cloud Search 服务账号密钥文件。 |
身份源 ID | api.identitySourceId=x0987654321
必需。由 Google Workspace 管理员设置的 Cloud Search 身份源 ID,用于通过 GCDS 同步 Active Directory 身份。 |
文件系统访问
设置 | 参数 |
源文件系统 | fs.src=path1[,path2, ...]
必需。将源文件系统指定为一个或多个 UNC 来源(使用 |
路径分隔符
设置 | 参数 |
路径分隔符 | fs.src.separator=separator-character
默认分隔符为“;”。如果源路径包含分号,您可以设置其他分隔符(例如英文逗号(“,”),该分隔符不会与路径中的字符冲突,也不会被属性文件语法本身保留)。 如果 |
连接器行为
设置 | 参数 |
Windows 网域 | fs.supportedDomain=domain
如要允许使用 GCDS 设置的用户通过 Cloud Search 访问文档,则必须启用。请指定为 Active Directory 的单个 NetBIOS 域名。 |
在 ACL 中添加账号 | fs.supportedAccounts=account-1[, account-2,...]
要添加到 ACL 中的账号的列表(以英文逗号分隔),无论这些账号是否为内置账号。 默认值为 |
从 ACL 中排除内置账号 | fs.builtinGroupPrefix=prefix
指定内置账号的前缀。以此前缀开头的账号会被视为内置账号,并且会从 ACL 中排除。 默认值为 |
允许将隐藏文件和文件夹编入索引 | fs.crawlHiddenFiles=boolean
设置为 |
允许将抓取的文件夹列表和 DFS 命名空间枚举编入索引 | fs.indexFolders=boolean
如果将此属性设置为 |
启用文件系统更改监控功能 | fs.monitorForUpdates=boolean
如果设置为 |
设置目录缓存的大小上限 | fs.directoryCacheSize=number-of-entries
目录缓存的大小上限。连接器使用缓存来识别隐藏文件夹,以避免将隐藏文件夹中的文件和文件夹编入索引。 默认值为 5 万个条目,通常占用 10 到 15 MB 的 RAM。 |
时间戳保留和抓取控制
设置 | 参数 |
保留上次访问时间戳 | fs.preserveLastAccessTime=value
当连接器抓取文件和文件夹时,可将文件和文件夹的上次访问时间戳更改为抓取时间。如果不保留上次访问时间,备份和归档系统可能会因连接器的访问而无法将相应的文件和文件夹移至辅助存储空间。 默认情况下,连接器会尝试保留上次访问时间( 可能的值:
|
仅抓取在特定日期之后访问过的文件 | fs.lastAccessedDate=YYYY-MM-DD
仅当上次访问时间晚于指定日期时,才抓取内容。默认值为 请以 ISO8601 日期格式指定日期:YYYY-MM-DD。例如,如果值为 2010-01-01,则连接器仅抓取在 2010 年年初之后访问的内容。 如果您指定 |
仅抓取过去几天内访问过的文件 | fs.lastAccessedDays=number-of-days
仅当上次访问时间在距今的天数内时,才抓取内容。默认值为 使用此属性可使先前已编入索引且已有一段时间未访问的内容过期。例如,如果设置为 365,则系统只会抓取过去一年内访问过的内容。 如果您指定 |
仅抓取在特定日期之后修改的文件 | fs.lastModifiedDate=YYYY-MM-DD
仅当上次修改时间晚于指定日期时,才抓取内容。默认值为 请以 ISO8601 日期格式指定日期:YYYY-MM-DD。例如,如果该值为 2010-01-01,则连接器仅抓取在 2010 年初之后修改的内容。 如果您指定 |
仅抓取在最近几天内修改过的文件 | fs.lastModifiedDays=number-of-days
仅当上次修改时间在距今的天数内时,才抓取内容。默认值为 使用此属性可使先前已编入索引且已有一段时间未修改的内容过期。例如,将 设置为 365,以便只抓取在去年修改过的内容。 如果您指定 |
跳过文件共享访问控制
默认情况下,该连接器在向 Indexing API(包括文件共享上的 ACL)发送访问控制列表 (ACL) 时会保留访问权限控制完整性。但在某些配置中,连接器可能没有足够的权限来读取共享 ACL。在这种情况下,该连接器不会在搜索结果中返回该文件共享中维护的任何文件。
您可以将连接器设置为忽略共享 ACL,以便始终在搜索结果中返回内容。在这种情况下,Indexing API 会获得一个完全宽松的共享 ACL,而不是实际的共享 ACL。
设置 | 参数 |
跳过文件共享访问控制 | fs.skipShareAccessControl=boolean
设置为 |