Data Cloudにおける非構造データ取込みとベクトル検索を少し整理してみた
メモ
・ヘルプページの解読が難しく手を動かす前に整理・見解記載、近日中に実機でやってみたいと思います
1. Data Cloudがファイル取り込みでできること・できないこと
Salesforce公式ヘルプ(Data Cloud Unstructured Data Connect Overview)によると、Data Cloudはファイル本文(バイナリデータ)を直接取り込むことはサポートしていません。
取り込み対象となるのは、ファイル名(Title)、ファイルサイズ(ContentSize)、ファイル種別(FileType)といったメタ情報のみです。
また同ヘルプには「Data Cloud doesn’t ingest binary files or images.」と明記されており、特に画像ファイル(jpg、pngなど)は除外対象とされています。
つまり、Data Cloudではファイル本体を検索したり分析したりすることはできず、あくまで存在情報のみを管理する設計になっています。
2. ContentVersionは本体情報?Data Cloudの取り込み実態
Salesforce CRMのリファレンス(ContentVersionオブジェクト仕様)によれば、ContentVersionオブジェクトにはBodyフィールドが存在し、ここに「The document binary data」としてファイル本体(バイナリデータ)が保持されています。
ただし、Data CloudでContentVersionを取り込む場合、Bodyフィールドは対象外です。
この点は公式ヘルプで明言されてはいないものの、現行仕様および実際の動作検証から、Data Cloudに取り込まれるのはメタ情報(Title、FileType、ContentSizeなど)のみであることが確認できます。
そのため、Data Cloud上ではファイル本文を直接参照することはできない設計になっています。
3. ベクトル検索を活用するための設計ポイント
Salesforceのヘルプ(Create a Vector Search Index in Data Cloud)によると、ベクトル検索インデックスを作成する際は、対象のデータモデルオブジェクト(DMO、例:Caseなど)を選択し、オプションで「File Attachments」を有効にする設定が求められます。
この設定を行うと、Data Cloudは対象レコードに添付されたファイル(ContentVersion)をたどり、裏でSalesforce CRM上のContentVersion.Bodyにアクセスしてファイル本文を取得、ベクトル化を行います。
ただし、この仕様に関する詳細な技術的記載はヘルプにはなく、動作検証結果とSalesforce社担当者からの口頭説明に基づいた理解です。
公式文書に断言されているわけではありませんが、現実的な運用ではこの仕組みに依存していると考えられます。
まとめると
Salesforce Data Cloudでは、ファイル本文(バイナリデータ)そのものを取り込むことはなく、ファイルに紐づくメタ情報のみを管理しています。
この仕様は公式にも明記されており、特に画像ファイルは取り込み対象外とされています。
また、ContentVersionオブジェクト自体はファイル本体を持っていますが、Data Cloud側では取り込まれず、メタ情報だけが扱われます。
一方、ベクトル検索インデックスを作成する際には、対象DMOに添付されたファイルから、裏で本体データを参照し、ベクトル化が行われる設計です。
技術仕様として細かい点は明文化されていないものの、今後もこの仕組みがベースになると予想されます。
冒頭に記載しましたが、また実機で確認したらひっそりとアップデート予定です。
Discussion