OpenSearch、OCI Vision、Text Recognitionを使用して、オブジェクト・ストレージに格納されているドキュメントおよびイメージを検索します

ビッグ・データ・ソリューションの場合、ユーザーはOracle Cloud Infrastructure Object Storageなどの低コストのストレージ・システムにドキュメントを格納することを好みます。テラバイトのデータを含むドキュメントが大量にある場合、ユーザーは関連情報を検索および検索するための簡単でスケーラブルなオプションが必要です。また、これらのユーザーは、検索結果を向上させるために、特定のステップでカスタム・ドキュメントに索引付けする必要もあります。

このリファレンス・アーキテクチャでは、ロー・コード・ツールを使用してプログラムを開発し、Oracle Visual Builderで設計された検索エンジンを使用してOracle Cloud Infrastructure Object Storageに格納されているドキュメントおよびイメージを検索する方法について説明します。OpenSearchセキュリティまたはドキュメントに関連付けられたラベルに基づいて、ファイル・レベルでセキュリティを追加できます。

このリファレンス・アーキテクチャは、次の機能を提供します。

  • ほとんどのファイル・タイプをサポートします:
    • Word、Excel、Powerpoint、pdf、xmlなど
    • テキスト認識を使用したテキストを含むイメージ。イメージ内のテキストを検索できます。
    • イメージ・ラベリングを使用したテキストなしのイメージ。イメージ内のオブジェクトを検索できます。
    • カスタム文書
  • 複数言語(ヘブライ語、アラビア語など)をサポート
  • 簡単なユーザー・インタフェースを提供します。
  • ローコード・ツールで動作し、プロセスの変更を簡単に実装できます。たとえば、解析プロセスで追加のファイル・タイプや追加のステップを簡単に追加できます。
  • 高可用性モードで実行され、スケーラブルです。

アーキテクチャ

次の図は、このリファレンス・アーキテクチャの論理フローを示しています。



oci_opensearch_vision_flow - oracle.zip

  • ドキュメントがObject Storageにアップロードされます
  • イベントが発生し、ストリーミング(Kafka)でキューに入れられます
  • イベントは、ファイル・タイプに基づいてOracle Integration Cloud Service (OIC)によって処理されます
  • 結果はOpenSearchにアップロードされます

次の図は、このリファレンス・アーキテクチャを示しています。



oci_opensearch_vision_arch - oracle.zip

エンドユーザーは、Visual Builderで設計された検索ページでこれらのドキュメントを検索できます。

内部処理は、ロー・コード・ツールであるOICを使用して設計されています。

アプリケーションは、オブジェクト・ストレージの変更(ファイルの作成、更新、削除)を検出し、処理のためにOICに送信します。

OICは、すべてのピースをまとめて接続します。

  • ストリーミング・キュー(Kafka)を使用してオブジェクト・ストレージからイベントを受信します
  • 文書のタイプを検出します
  • 文書タイプに基づくプロセス:
    • ラベル付けまたはテキスト認識のためにOCI AI Visionにイメージを送信します
    • ドキュメントを解析するためにJava関数にドキュメントを送信します(Word、PDF、...)
    • カスタム・ドキュメント(IDカードなど)の場合、カードの名前、生年月日およびIDが検出されます。
  • ドキュメントが変換され、結果がインデックス作成のためにOpensearchに格納されます。

エンドユーザー検索インタフェースはVisual Builderで構築されています。エンド・ユーザーが検索すると、結果はOpenSearchから取得され、ドキュメント・リンクはオブジェクト・ストレージを指します。

ドキュメントを表示する際、ドキュメントはObject Storageから取得され、事前認証済で短期的に作成されたリクエストを使用します。

この処理パイプラインは、ファンクション(またはコンピュート・インスタンス上のRESTサービス)を使用してカスタム・コードを起動し、OpenSearchインスタンスの索引に格納されるメタデータを拡張する追加のステップによって拡張できます。

このアーキテクチャには、次のコンポーネントがあります。

  • OpenSearchを使用したOCI Searchサービス

    OpenSearchを使用したOCI Searchサービスは、Oracleマネージド・サービスとして提供されるインサイト・エンジンです。停止時間がないと、Oracleはパッチ適用、更新、アップグレード、バックアップおよびサービスのサイズ変更を自動化します。お客様は、大量のデータを迅速に格納、検索、分析し、ほぼリアルタイムで結果を確認できます。

  • Oracle Integration

    Oracle Integrationは、アプリケーション、ビジネス・プロセス、APIおよびデータを迅速に最新化するためのエンタープライズ接続および自動化プラットフォームです。開発者とクラウド・アーキテクトは、ビジュアル開発エクスペリエンス、事前組込みの統合および組込みのベスト・プラクティスにより、SaaSとオンプレミス・アプリケーションを6倍高速に接続できます。Oracle Integrationは、Oracle Cloud ERP、HCM、CXのイベントにネイティブでアクセスできます。アプリケーション固有の分析サイロを接続して、購買依頼から受領まで、採用から支払いまで、リードから請求まで、その他の重要なプロセスを簡素化します。最後に、ITおよびビジネス・リーダーにエンドツーエンドの可視性を提供します。

  • オブジェクト・ストレージ

    オブジェクト・ストレージでは、データベースのバックアップ、分析データ、イメージ、ビデオなどのリッチ・コンテンツなど、すべてのコンテンツ・タイプの構造化データおよび非構造化データにすばやくアクセスできます。インターネットから直接またはクラウド・プラットフォーム内から、安全かつセキュアにデータを格納し、取得できます。ストレージは、パフォーマンスやサービスの信頼性を低下させることなく、シームレスに拡張できます。迅速、即時および頻繁にアクセスする必要があるホット・ストレージには標準ストレージを使用します。長期間保持し、ほとんどまたはほとんどアクセスしないコールド・ストレージにアーカイブ・ストレージを使用します。

  • OCIビジョン

    OCI Visionは、ディープ・ラーニング・ベースのイメージ分析を大規模に実行するためのAIサービスです。すぐに利用できる事前構築済みモデルにより、開発者は機械学習(ML)の専門知識がなくても、アプリケーションにイメージ認識とテキスト認識を簡単に組み込むことができます。業界固有のユース・ケースの場合、開発者は、独自のデータを使用してカスタムVisionモデルを自動的にトレーニングできます。これらのモデルを使用して、製造における視覚的な異常を検出したり、ドキュメントからテキストを抽出してビジネス・ワークフローを自動化したり、イメージ内のアイテムにタグ付けして製品や出荷をカウントできます。開発者は、事前にトレーニングされたモデルにアクセスするだけでなく、データ・サイエンスの専門知識やカスタム・モデル・インフラストラクチャの管理なしでカスタム・モデルを作成できます。

  • ストリーミング

    Oracle Cloud Infrastructure Streamingサービスは、高ボリューム・データ・ストリームをリアルタイムで収集および消費するための、完全に管理されたスケーラブルで耐久性の高いソリューションを提供します。パブリッシュ/サブスクライブ・メッセージング・モデルでデータが連続して順番に生成および処理されるユースケースには、Streamingを使用します。

  • イベント

    Oracle Cloud Infrastructureサービスでは、イベント(リソースの変更を説明する構造化メッセージ)が生成されます。イベントは、作成、読取り、更新または削除(CRUD)操作、リソース・ライフサイクル状態変更およびクラウド・リソースに影響するシステム・イベントに対して発行されます。

  • 関数

    Oracle Functionsは、完全に管理された、マルチテナントでスケーラビリティが高いオンデマンドのFunctions- as- a- Service (FaaS)プラットフォームです。これは、Fn Projectのオープン・ソース・エンジンによって機能します。関数を使用すると、コードをデプロイして直接コールするか、イベントに応じてトリガーできます。Oracle Functionsは、Oracle Cloud Infrastructure RegistryでホストされているDockerコンテナを使用します。

  • テナント

    テナンシは、Oracle Cloud Infrastructureのサインアップ時にOracle Cloud内でOracleによって設定されるセキュアで分離されたパーティションです。テナンシ内のOracle Cloudでリソースを作成、編成および管理できます。テナンシは、会社または組織と同義です。通常、会社は単一のテナンシを持ち、そのテナンシ内の組織構造を反映します。通常、単一のテナンシは単一のサブスクリプションに関連付けられ、単一のサブスクリプションには1つのテナンシのみが含まれます。

  • リージョン

    Oracle Cloud Infrastructureリージョンは、可用性ドメインと呼ばれる1つ以上のデータ・センターを含むローカライズされた地理的領域です。リージョンは他のリージョンから独立しており、巨大な距離は(複数の国または大陸にわたって)分離できます。

  • コンパートメント

    コンパートメントは、Oracle Cloud Infrastructureテナンシ内のクロスリージョン論理パーティションです。コンパートメントを使用して、Oracle Cloudのリソースを編成、リソースへのアクセスを制御および使用割当てを設定します。特定のコンパートメント内のリソースへのアクセスを制御するには、誰がリソースにアクセスできるか、どのアクションを実行できるかを指定するポリシーを定義します。

  • 仮想クラウド・ネットワーク(VCN)およびサブネット

    VCNは、Oracle Cloud Infrastructureリージョンで設定する、カスタマイズ可能なソフトウェア定義のネットワークです。従来のデータ・センター・ネットワークと同様に、VCNを使用してネットワーク環境を完全に制御できます。VCNには、VCNの作成後に変更できる重複しない複数のCIDRブロックを含めることができます。VCNをサブネットにセグメント化して、そのスコープをリージョンまたは可用性ドメインに設定できます。各サブネットは、VCNの他のサブネットと重複しない連続した範囲のアドレスで構成されます。サブネットのサイズは、作成後に変更できます。パブリックまたはプライベートにできます。

  • セキュリティ・リスト

    サブネットごとに、サブネットの内外で許可される必要があるトラフィックのソース、宛先およびタイプを指定するセキュリティ・ルールを作成できます。

推奨事項

開始点として次の推奨事項を使用します。お客様の要件は、ここで説明するアーキテクチャとは異なる場合があります。
  • メンテナンスと高可用性

    設計では、クラウドによって管理されるほぼ唯一のPaaSサービスが使用されます。このソリューションを使用してソフトウェアをインストール、パッチ適用、更新またはアップグレードする必要はありません。これは、オブジェクト・ストレージ、イベント、ストリーミング、OCI Vision、Oracle Integration、Visual BuilderおよびFunctionsに対して有効です。

    注意を要求するコンポーネントは、プライベート・ネットワークに存在するOpenSearchクラスタにアクセスするためにコンピュート・インスタンスにインストールされているOracle Integration Cloudエージェントのみです。OICエージェントの保守と可用性を高めるには、OICドキュメントのガイドラインに従います。

  • スケーラビリティとサイズ

    このリファレンス・アーキテクチャでは、PaaSサービスが使用され、ほとんどのサービスで即時利用可能なスケーラブルです。OpenSearchクラスタは、自動的にスケール・アップおよびスケール・ダウンしません(手動のみ)。そのため、ユースケースに基づいて、ソリューションの適切なスケーリングが必要です。

注意事項

このリファレンス・アーキテクチャをデプロイするときは、次の点を考慮してください。

  • パフォーマンス

    OpenSearchのOCI Searchサービスには、比類のないレベルの構成があります。特定のシェイプまたはSKUにロックインされることはありません。かわりに、正確な要件に基づいて正確なコンピュート・コア数およびメモリーとストレージ量を構成できるフレックス・シェイプを使用できます。

    OpenSearchのOCI Searchサービスは、インフラストラクチャのプロビジョニングなど、クラスタの設定に関連する作業を管理します。クラスタが実行されると、OpenSearchを使用するOCI Searchサービスは、バックアップの実行、インスタンスの監視、パッチ適用ソフトウェアなどの一般的な管理タスクを処理します。OCI SearchサービスとOpenSearchは、OCIメトリックと統合して、クラスタの状態に関する情報を提供するメトリックを生成します。OpenSearchのOCI Searchサービスでは、サービス中断なしでクラスタ構成および合計データ・サイズを変更することもできます。

  • セキュリティ

    ドキュメントはプライベートObject Storageに格納されます。ユーザーがドキュメントをクリックすると、短期間の一時リンクが作成されます。

    実装はすべてのユーザーに対して同じ結果を返し、「詳細の参照」セクションにリンクされたLiveLabsワークショップで詳細に説明します。文書レベルで実装されたセキュリティはありません。OpenSearchセキュリティまたはドキュメントおよびユーザーに関連付けられたラベル(あるいはその両方)に基づいて実装できます。

  • コスト

    このリファレンス・アーキテクチャでは、低コストの製品であるオブジェクト・ストレージとOpenSearchを使用します。OICのStandardバージョンも使用します。OICは、索引付けでは非常に効率的に使用され、ファイル自体ではなく、ファイルへの参照のみを使用します。

承認

  • Author: Marc Gueury
  • Contributors: Badr Aissaoui, Marek Krátký