本地文件系统
搜寻存储在本地文件系统中的文档。
IBM Cloud Pak for Data IBM Software Hub
此信息仅适用于已安装的部署。
要搜寻的文档
- 仅搜寻文件路径中 Discovery 支持的文件类型; 将忽略所有其他类型。 有关更多信息,请参阅 支持的文件类型。
- 搜寻器只能访问
/mnt
目录或其某个子目录中的文件。 - 仅搜寻具有与您指定的文件扩展名过滤规则匹配的文件扩展名的文件。 随 4.7.0 发行版一起添加。
- 当重新抓取资源时,会添加新文档,将更新后的文档修改为当前版本,并将已删除的文档从集合索引中删除。
- 所有 Discovery 数据源连接器都是只读的。 无论向搜寻帐户授予何种许可权,Discovery 从不写入,更新或删除原始数据源中的任何内容。
必备步骤
在连接到本地文件系统数据源之前,请完成以下步骤:
缺省情况下,该服务使用 Portworx 存储器。 但是,如果要使用网络文件系统 (NFS) 存储器,请改为参阅 NFS 存储器的先决条件步骤。
创建持久卷声明并将其安装在搜寻器 pod 上
必须先创建持久卷声明并将其安装在 crawler
pod 上,然后才能搜寻本地文件系统。 您还需要将要搜寻的文件复制到您正在处理的 Discovery 集群。 如果有多个 Discovery 集群,那么必须将这些文件以及将在此任务中创建的 crawler-pvc-portworx.yaml
文件复制到每个集群。
完成以下步骤:
-
输入以下命令,以检查 Portworx 供应者的
storageclass
名称:oc get storageclass | grep portworx-gp3-sc
您可能会看到类似于以下内容的输出:
NAME PROVISIONER RECLAIMPOLICY VOLUMEBINDINGMODE ALLOWVOLUMEEXPANSION AGE portworx-gp3-sc kubernetes.io/portworx-volume Retain Immediate true 51d
-
创建名为
crawler-pvc-portworx.yaml
的文件,以定义具有以下内容的持久卷声明 (PVC):kind: PersistentVolumeClaim apiVersion: v1 metadata: name: <name-of-portworx-pvc> spec: accessModes: - ReadWriteMany resources: requests: storage: 10Gi storageClassName: portworx-gp3-sc
将
<name-of-portworx-pvc>
替换为动态 Portworx 持久卷声明的名称。 例如,jdoe-pvc-portworx
-
输入以下命令创建持久卷声明:
oc create -f crawler-pvc-portworx.yaml
将显示一条消息:
persistentvolumeclaim/jdoe-pvc-portworx created
-
输入以下命令,将持久卷声明挂载到
crawler
容器:oc patch wd wd --type=merge \ --patch='{"spec": {"ingestion": {"crawler": {"mount": {"enabled": true, "persistentVolumeClaimName": "<name-of-portworx-pvc>" } } } } }'
将
<name-of-portworx-pvc>
替换为动态 Portworx 持久卷声明的名称。 例如,jdoe-pvc-portworx
。 -
输入以下命令,以将要搜寻的文件复制到动态 Portworx 持久卷声明。
您只需对现有的
crawler
Pod运行一次此命令。 所有crawler
和ingestion-api
群组都共享持续的音量请求。 将命令中的变量替换为相应的信息。oc rsync <path-to-local-file-system-folder> <crawler-pod>:/mnt
安装了持久卷声明 (PVC) 并将要搜寻的文件复制到 PVC。
连接到本地文件系统数据源
请从您的 Discovery 项目开始,完成以下步骤:
-
从导航窗格中,选择 管理集合。
-
点击 “新收藏”。
-
单击 本地文件系统,然后单击 下一步。
-
命名集合。
-
如果要搜寻的文档的语言不是英语,请选择相应的语言。
有关受支持语言的列表,请参阅语言支持。
-
可选: 更改同步调度。
有关更多信息,请参阅 搜寻调度选项。
-
在 指定要搜寻的内容 部分中,在 路径 字段中输入要搜寻的文件路径,然后单击 添加。
文件路径区分大小写。 请记住,搜寻器只能访问
/mnt
目录或其某个子目录中的文件。 -
(可选) 添加更多文件路径。
-
如果要限制要添加到集合的文件类型,那么可以列出要包含或排除的文件类型的文件扩展名。
有关受支持文件类型的列表,请参阅 受支持的文件类型。
在 4.7.0 发行版中添加了对此选项的支持。
-
如果希望搜寻器从文档中的图像中抽取文本,请展开 更多处理设置,并将 应用光学字符识别 (OCR) 设置为
On
。启用 OCR 并且您的文档包含图像时,处理需要更长时间。 有关更多信息,请参阅 光学字符识别。
-
单击完成。
将快速创建集合。 将数据添加到集合时,处理数据需要更多时间。
如果要检查进度,请转至“活动”页面。 在导航窗格中,单击 管理集合,然后单击以打开集合。
NFS 存储器的先决条件步骤
选择下列其中一种方法以使 crawler
pod 能够访问文件系统:
配置外部 NFS 服务器
如果要搜寻的本地文件系统文件或文件夹存储在外部网络文件系统 (NFS) 中,那么可以使用外部 NFS 服务器来创建持久卷声明。
-
创建一个名为
crawler-pv-nfs.yaml
的文件,内容如下:apiVersion: v1 kind: PersistentVolume metadata: name: <persistent-volume-name> labels: pv-name: <persistent-volume-name> spec: capacity: storage: 10Gi accessModes: - ReadWriteMany persistentVolumeReclaimPolicy: Retain nfs: server: <NFS server hostname or IP address> path: <Path of NFS exported folder>
将对
<persistent-volume-name>
的引用替换为持久卷的名称。 例如,jdoe-nfs-pv
并添加缺少的外部 NFS 详细信息。 -
输入以下命令创建持久卷声明:
oc create -f crawler-pv-nfs.yaml
这将显示以下消息:
persistentvolume/jdoe-nfs-pv created
-
创建一个名为
crawler-pvc-nfs.yaml
的文件,内容如下:kind: PersistentVolumeClaim apiVersion: v1 metadata: name: <persistent-volume-claim-name> spec: accessModes: - ReadWriteMany resources: requests: storage: 10Gi selector: matchLabels: pv-name: <persistent-volume-name>
替换以下变量:
<persistent-volume-claim-name>
:指定您的持久卷声明的名称。 例如,jdoe-nfs-pvc
。<persistent-volume-name>
: 指定持久卷的名称。 例如,jdoe-nfs-pv
。
-
输入以下命令创建持久卷声明:
oc create -f crawler-pvc-nfs.yaml
这将显示以下消息:
persistentvolumeclaim/jdoe-nfs-pvc created
-
输入以下命令,将持久卷声明挂载到
crawler
容器。此命令还将持久卷声明挂载到所有
ingestion-api
容器。 将<persistent-volume-claim-name>
替换为持久卷声明的名称。 例如,jdoe-nfs-pvc
。oc patch wd wd --type=merge \ --patch='{"spec": {"ingestion": {"crawler": {"mount": {"enabled": true, "persistentVolumeClaimName": "<persistent-volume-claim-name>" } } } } }'
使用 NFS 存储类配置动态供应
如果您想抓取本地文件系统中的文件或文件夹,但又不想额外准备一个 NFS 服务器来存储这些文件或文件夹,则可以使用 NFS 存储类来配置动态存储。
如需了解 Discovery 支持的存储提供商的更多信息以及存储比较,请参阅 存储注意事项。
在完成这项任务之前,请将您要抓取的文件复制到您正在使用的 Discovery 集群中。 如果您有多个 Discovery 集群,那么必须将这些文件以及在此任务中创建的 crawler-pvc-dynamic.yaml
文件复制到每个集群。
完成以下步骤:
-
输入以下命令,以检查 NFS 供应者的
storageclass
名称:oc get storageclass
将显示一条消息。
NAME PROVISIONER RECLAIMPOLICY VOLUMEBINDINGMODE ALLOWVOLUMEEXPANSION AGE nfs-client cluster.local/innocence-nfs-client-provisioner Delete Immediate true 177m
-
创建名为
crawler-pvc-dynamic.yaml
的文件,并向其添加以下内容:kind: PersistentVolumeClaim apiVersion: v1 metadata: name: <name-of-dynamic-pvc> spec: accessModes: - ReadWriteMany resources: requests: storage: 10Gi storageClassName: nfs-client
将
<name-of-dynamic-pvc>
替换为动态 NFS 持久卷声明的名称。 例如,jdoe-dynamic-pvc
。 -
输入以下命令创建持久卷声明:
oc create -f crawler-pvc-dynamic.yaml
将显示一条消息。
persistentvolumeclaim/jdoe-dynamic-pvc created
-
输入以下命令,将持久卷声明挂载到
crawler
容器。此命令还将持久卷声明挂载到所有
ingestion-api
容器。oc patch wd wd --type=merge \ --patch='{"spec": {"ingestion": {"crawler": {"mount": {"enabled": true, "persistentVolumeClaimName": "<name-of-dynamic-pvc>" } } } } }'
将
<name-of-dynamic-pvc>
替换为上一步中动态 NFS 持久卷声明的名称。 例如,jdoe-dynamic-pvc
。 -
输入以下命令,以将要搜寻的文件复制到动态 NFS 持久卷声明。
只能对其中一个现有
crawler
Pod 运行此命令一次。 所有crawler
和ingestion-api
群组都共享持续的音量请求。 将命令中的变量替换为相应的信息。oc rsync <path-to-local-file-system-folder> <crawler-pod>:/mnt
安装了持久卷声明 (PVC),并将要搜寻的所有文件复制到 PVC。