IBM Cloud Docs
本地文件系统

本地文件系统

搜寻存储在本地文件系统中的文档。

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 文件复制到每个集群。

完成以下步骤:

  1. 输入以下命令,以检查 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
    
  2. 创建名为 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

  3. 输入以下命令创建持久卷声明:

    oc create -f crawler-pvc-portworx.yaml
    

    将显示一条消息:

    persistentvolumeclaim/jdoe-pvc-portworx created
    
  4. 输入以下命令,将持久卷声明挂载到 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

  5. 输入以下命令,以将要搜寻的文件复制到动态 Portworx 持久卷声明。

    您只需对现有的 crawler Pod运行一次此命令。 所有 crawleringestion-api 群组都共享持续的音量请求。 将命令中的变量替换为相应的信息。

    oc rsync <path-to-local-file-system-folder> <crawler-pod>:/mnt
    

安装了持久卷声明 (PVC) 并将要搜寻的文件复制到 PVC。

连接到本地文件系统数据源

请从您的 Discovery 项目开始,完成以下步骤:

  1. 从导航窗格中,选择 管理集合

  2. 点击 “新收藏”。

  3. 单击 本地文件系统,然后单击 下一步

  4. 命名集合。

  5. 如果要搜寻的文档的语言不是英语,请选择相应的语言。

    有关受支持语言的列表,请参阅语言支持

  6. 可选: 更改同步调度。

    有关更多信息,请参阅 搜寻调度选项

  7. 指定要搜寻的内容 部分中,在 路径 字段中输入要搜寻的文件路径,然后单击 添加

    文件路径区分大小写。 请记住,搜寻器只能访问 /mnt 目录或其某个子目录中的文件。

  8. (可选) 添加更多文件路径。

  9. 如果要限制要添加到集合的文件类型,那么可以列出要包含或排除的文件类型的文件扩展名。

    有关受支持文件类型的列表,请参阅 受支持的文件类型

    在 4.7.0 发行版中添加了对此选项的支持。

  10. 如果希望搜寻器从文档中的图像中抽取文本,请展开 更多处理设置,并将 应用光学字符识别 (OCR) 设置为 On

    启用 OCR 并且您的文档包含图像时,处理需要更长时间。 有关更多信息,请参阅 光学字符识别

  11. 单击完成

将快速创建集合。 将数据添加到集合时,处理数据需要更多时间。

如果要检查进度,请转至“活动”页面。 在导航窗格中,单击 管理集合,然后单击以打开集合。

NFS 存储器的先决条件步骤

选择下列其中一种方法以使 crawler pod 能够访问文件系统:

配置外部 NFS 服务器

如果要搜寻的本地文件系统文件或文件夹存储在外部网络文件系统 (NFS) 中,那么可以使用外部 NFS 服务器来创建持久卷声明。

  1. 创建一个名为 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 详细信息。

  2. 输入以下命令创建持久卷声明:

    oc create -f crawler-pv-nfs.yaml
    

    这将显示以下消息:

    persistentvolume/jdoe-nfs-pv created
    
  3. 创建一个名为 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
  4. 输入以下命令创建持久卷声明:

    oc create -f crawler-pvc-nfs.yaml
    

    这将显示以下消息:

    persistentvolumeclaim/jdoe-nfs-pvc created
    
  5. 输入以下命令,将持久卷声明挂载到 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 文件复制到每个集群。

完成以下步骤:

  1. 输入以下命令,以检查 NFS 供应者的 storageclass 名称:

    oc get storageclass
    

    将显示一条消息。

    NAME        PROVISIONER                                     RECLAIMPOLICY  VOLUMEBINDINGMODE  ALLOWVOLUMEEXPANSION  AGE
    nfs-client  cluster.local/innocence-nfs-client-provisioner  Delete         Immediate          true                  177m
    
  2. 创建名为 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

  3. 输入以下命令创建持久卷声明:

    oc create -f crawler-pvc-dynamic.yaml
    

    将显示一条消息。

    persistentvolumeclaim/jdoe-dynamic-pvc created
    
  4. 输入以下命令,将持久卷声明挂载到 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

  5. 输入以下命令,以将要搜寻的文件复制到动态 NFS 持久卷声明。

    只能对其中一个现有 crawler Pod 运行此命令一次。 所有 crawleringestion-api 群组都共享持续的音量请求。 将命令中的变量替换为相应的信息。

    oc rsync <path-to-local-file-system-folder> <crawler-pod>:/mnt
    

安装了持久卷声明 (PVC),并将要搜寻的所有文件复制到 PVC。