使用 OpenSearch、OCI 视觉服务、文本识别功能搜索存储在对象存储中的文档和图像
对于大数据解决方案,用户更喜欢将文档存储在低成本的存储系统中,例如 Oracle Cloud Infrastructure Object Storage 。当有大量包含 TTB 数据的文档时,用户需要简单、可扩展的选项来搜索和查找相关信息。这些用户还可以要求为自定义文档编制索引,并执行特定步骤以获得更好的搜索结果。
此参考架构介绍了如何使用低代码工具来开发程序,以使用 Oracle Visual Builder 设计的搜索引擎搜索存储在 Oracle Cloud Infrastructure Object Storage 中的文档和图像。您可以根据 OpenSearch 安全性或与文档关联的标签在文件级别添加安全性。
此参考体系结构提供以下功能。
- 支持大部分文件类型:
- Word、Excel、Powerpoint、pdf、xml 等
- 图像具有使用文本识别的文本。您可以在图像中搜索文本。
- 使用图像标签(不带文本)的图像。您可以在图像中找到对象。
- 自定义文档
- 支持多语言(希伯来语、阿拉伯语等)
- 提供简便的用户界面
- 使用低代码工具来简化流程实施。例如,可以在解析过程中轻松添加其他文件类型或其他步骤。
- 在高可用性模式下运行,并且可扩展。
体系结构
下图说明了此参考体系结构的逻辑流。
oci_opensearch_vision_flow-oracle.zip
- 文档已上载到对象存储
- 事件在流处理 (Kafka) 中引发并排队
- 事件由 Oracle Integration Cloud Service (OIC) 根据文件类型处理
- 结果上载到 OpenSearch
下图说明了此参考体系结构。
oci_opensearch_vision_arch-oracle.zip
最终用户可以在使用 Visual Builder 设计的搜索页面中搜索这些文档。
内部处理设计有低代码工具 OIC。
应用会检测对象存储中的更改(文件创建、更新、删除),并将其发送到 OIC 进行处理。
OIC 将所有部件连接在一起:
- 使用流处理队列 (Kafka) 从对象存储接收事件
- 检测文档类型
- 基于文档类型的流程:
- 将图像发送到 OCI AI 视觉识别进行标签或文本识别
- 将文档发送到 Java 函数以对文档进行语法分析(Word、PDF...)
- 对于自定义文档(如 ID 卡),它会检测卡的名称、出生日期和 ID。
- 将转换文档,并将结果存储在 Opensearch 中以进行索引。
最终用户搜索界面是使用 Visual Builder 构建的。最终用户搜索时,结果来自 OpenSearch,文档链接指向对象存储。
查看文档时,该文档来自对象存储,使用动态创建的简短的预验证请求。
可以通过使用函数(或计算实例上的 REST 服务)调用任何定制代码的其他步骤来扩展此处理管道,以增强将存储在 OpenSearch 实例索引中的元数据。
该体系结构具有以下组件:
- 使用 OpenSearch 的 OCI 搜索服务
使用 OpenSearch 的 OCI 搜索服务是一种作为 Oracle 托管服务提供的洞察引擎。无需停机,Oracle 即可自动修补、更新、升级、备份和调整服务大小。客户可以快速存储、搜索和分析大量数据,近乎实时地查看结果。
- Oracle Integration
Oracle Integration 是一个企业连接和自动化平台,用于快速实现应用程序、业务流程、API 和数据的现代化。开发人员和云架构师可以通过可视化开发体验、预构建的集成和嵌入式优秀实践,将 SaaS 和内部部署应用的连接速度提高六倍。利用 Oracle Integration,您可以原生访问 Oracle Cloud ERP、HCM 和 CX 中的事件。打通应用特定的分析孤岛,简化从申请到收货、从招聘到付款、从销售线索到发票以及其他关键流程。最后,为您的 IT 和业务负责人提供端到端的可见性。
- 对象存储
通过对象存储,可以快速访问任意内容类型的大量结构化和非结构化数据,包括数据库备份、分析数据以及图像和视频等丰富内容。您可以安全可靠地存储数据,然后直接从互联网或云平台检索数据。您可以无缝扩展存储,而不会降低性能或服务可靠性。对需要快速、立即和频繁访问的“热”存储使用标准存储。将归档存储用于长期保留的“冷”存储,并且很少或很少访问。
- OCI 视觉
OCI 愿景是一项用于大规模执行基于深度学习的映像分析的 AI 服务。借助现成的预构建模型,开发人员无需具备机器学习 (ML) 专业知识即可轻松地在应用中构建图像识别和文本识别。对于行业特定的用例,开发人员可以使用自己的数据自动训练定制视觉模型。这些模型可用于检测制造过程中的视觉异常、从文档中提取文本以自动执行业务工作流,以及标记图像中的项目以对产品或发运进行计数。除了访问预先训练的模型外,开发人员还可以创建没有数据科学专业知识的定制模型或管理定制模型基础结构。
- 流
Oracle Cloud Infrastructure Streaming 服务提供了一个完全托管、可扩展且持久的解决方案,可用于实时摄取和使用大量数据流。在发布 - 订阅消息传递模式中连续生成和处理数据的用例中,可以使用流处理服务。
- 事件
Oracle Cloud Infrastructure 服务发出事件,这些事件是描述资源更改的结构化消息。发出事件以执行创建、读取、更新或删除 (CRUD) 操作、资源生命周期状态更改以及影响云资源的系统事件。
- 功能
Oracle Functions 是一个完全托管、多租户、高度可扩展、按需扩展、函数即服务 (FaaS) 平台。它由 Fn 项目开源引擎提供支持。使用函数可以部署代码,并可以直接调用代码或触发代码以响应事件。Oracle Functions 使用 Oracle Cloud Infrastructure Registry 中托管的 Docker 容器。
- 租户
租户是一个安全且隔离的分区,当您注册 Oracle Cloud Infrastructure 时,Oracle 将在 Oracle Cloud 中设置该分区。您可以在您的租户内的 Oracle Cloud 中创建、组织和管理您的资源。租户与公司或组织同义。通常,公司将具有单个租户并反映其在该租户中的组织结构。单个租户通常与单个订阅关联,而单个订阅通常只有一个租户。
- 区域
Oracle Cloud Infrastructure 区域是一个本地化地理区域,其中包含一个或多个数据中心(称为可用性域)。地区独立于其他地区,广阔的距离可以分隔它们(在各国甚至大陆)。
- 区间
区间是 Oracle Cloud Infrastructure 租户内的跨区域逻辑分区。使用区间组织 Oracle Cloud 中的资源、控制对资源的访问以及设置使用限额。要控制对给定区间中资源的访问,您可以定义策略来指定谁可以访问资源以及他们可以执行哪些操作。
- 虚拟云网络 (VCN) 和子网
VCN 是可定制的软件定义网络,您可以在 Oracle Cloud Infrastructure 区域中设置。与传统数据中心网络一样,VCNs 允许您完全控制您的网络环境。一个 VCN 可以具有多个不重叠的 CIDR 块,创建 VCN 后您可以更改这些块。您可以将 VCN 细分到子网中,子网可以限定到某个区域或可用性域。每个子网都包含一个连续的地址范围,这些地址与 VCN 中的其他子网不重叠。可以在创建子网后更改子网的大小。子网可以是公共子网,也可以是专用子网。
- 安全列表
对于每个子网,您可以创建安全规则来指定必须允许传入和传出子网的流量源、目标和类型。
建议
- 维护和高可用性
该设计仅使用由云维护的 PaaS 服务。无需使用此解决方案安装、修补、更新或升级软件。这适用于:对象存储、事件、流处理、OCI 视觉服务、Oracle Integration、Visual Builder 和函数。
唯一需要注意的组件是安装在计算实例中的 Oracle Integration Cloud 代理,用于访问位于专用网络中的 OpenSearch 集群。按照 OIC 文档中的准则,让 OIC 代理易于维护且具有高可用性。
- 可扩展性和大小
此引用体系结构使用 PaaS 服务,对于大多数服务来说,它是现成的。请注意,OpenSearch 群集不会自动纵向扩展和收缩(仅手动)。因此,需要根据您的用例对解决方案进行适当的扩展。
考虑事项
部署此引用体系结构时,请考虑以下几点。
- 性能
使用 OpenSearch 的 OCI 搜索服务具有无与伦比的配置级别。您没有被锁定在特定的配置或 SKU 中;相反,您可以使用弹性配置,以便根据自己的确切需求配置精确的计算核心数以及内存和存储量。
使用 OpenSearch 的 OCI 搜索服务管理设置集群所涉及的工作,包括预配基础结构。集群运行时,OCI 搜索服务使用 OpenSearch 来处理常见管理任务,例如执行备份、监视实例和打补丁软件。OCI Search Service with OpenSearch 与 OCI 度量集成,以生成提供有关集群状态信息的度量。使用 OpenSearch 的 OCI 搜索服务还支持在不中断服务的情况下修改集群配置和总数据大小。
- 安全
文档存储在专用对象存储中。用户单击文档时,将创建包含短生命周期的临时链接。
实现对所有用户返回相同的结果,将在“浏览更多”部分中链接的 LiveLabs 研讨会中详细介绍。在文档级别没有实施安全性。您可以基于 OpenSearch 安全性以及/或与文档和用户关联的标签来实施它。
- 成本
此参考架构使用低成本产品的对象存储和 OpenSearch。它还使用 OIC 的标准版本。OIC 在编制索引时非常高效地使用,它仅使用对文件的引用,而不使用文件本身。