Data 360 の 検索インデックス種別について知る
学習の目的
この単元を完了すると、次のことができるようになります。
- Data 360 でサポートされている検索インデックスについて説明する。
- ユースケースに対してどの検索インデックスを作成するべきかを特定する。
Data 360 の検索を使用して AI をグラウンディングする
顧客固有のデータで AI のグラウンディングを行うと、Salesforce プラットフォームのアプリケーション、分析、自動化ツールで生成 AI の価値が高まります。AI のグラウンディングは、非構造化データ、準構造化データ、構造化データで行えます。関連 CRM データを取得するユーザークエリを使用して AI モデルをグラウンディングすることにより、Agentforce、Tableau、Flow Builder などのアプリケーションの出力がユーザーインテントに合わせて細かく調整されるようになります。Data 360 の検索を使用すれば、チームとお客様のために AI 生成コンテンツの精度と関連性を確保し、より詳細なインサイトを分析から取得し、自動化ワークフローを効率化することができます。
Data 360 では、知識ベースのあらゆるデータ (非構造化データを含む) に検索インデックスを構築できます。次の検索インデックス種別が Data 360 でサポートされています。
- ベクトル検索インデックス
- ハイブリッド検索インデックス
- 強化検索インデックス
Data 360 で検索インデックスを構築するには、データを Data 360 に取り込みます。Data 360 に非構造化データが取り込まれると、データは標準データモデルオブジェクト (DMO) または非構造化データモデルオブジェクト (UDMO) に対応付けられ、そのデータから有意義なコンテンツチャンクが作成されます。その後、ベクトル埋め込みが作成され、アプリケーションがデータとの意味的および語彙的な類似点を理解するのに役立つ検索インデックスが構築されます。
検索インデックス種別を選択する
特定のユースケースとデータセットに最適な検索インデックス種別を決定する前に、それぞれの検索種別にどのような違いがあり、どのタイプの検索クエリを使用すれば最も関連性の高い応答を得られるかを詳しく見てみましょう。
ベクトル検索インデックス
ベクトル検索 (セマンティック検索) では、与えられた検索クエリに意味的に類似するデータ (またはデータチャンク) を取得します。このデータには、動画、音声、通話トランスクリプトが含まれる場合もあります。ベクトル検索による取得は、データのチャンク化、ベクトル埋め込みの作成、検索クエリとの意味的な類似性が高いベクトル埋め込みの検索によって行われます。

ベクトル検索は、ユーザーが長い形式の検索クエリで一般情報を探している場合に適しています。検索クエリによって、意味的に最も近い一致と関連付けられた高いベクトル検索スコアを持つデータが取得されます。
たとえば、以下は Google Chrome ブラウザーのしくみについての情報を探すクエリです。この検索クエリによって、検索クエリと意味的に最も近い一致と関連付けられた最も高いベクトル検索スコアを持つチャンクが取得されます。
クエリ:
select c.Chunk_c, v.score_c from vector_search(table(WikiArticle_c_vector_search_2_index__dlm), 'how does Google Chrome internet browser work', '', 100) as v join WikiArticle_c_vector_search_2_ chunk_dlm as c on v.SourceRecordId_c=c.RecordId_c ORDER by v.score_c desc limit 3;
結果:

ハイブリッド検索インデックス
ハイブリッド検索は、意味を認識するベクトル検索の強みとドメインの用語を処理するキーワード検索の機能を組み合わせたものです。ハイブリッド検索では、両タイプの検索から取得した情報をマージした後に、融合ランカー機能を使用して結果をランク付けし、最も関連性の高い情報を表示します。
ハイブリッド検索のデフォルトである融合ランカー機能は、検索ベースの多様なタスクに合わせて内部ベンチマークで最適化されます。トレーニングと評価のデータは、Einstein Search と生成 AI アプリケーション (Einstein Search Answer など) から取得した実際のクエリに基づいています。

ハイブリッド検索は、特定の検索用語も含まれている長い形式の検索クエリに最適な方法です。検索クエリによって、キーワードの完全一致と関連付けられた高いキーワード検索スコアを持つデータと、意味的に最も近い一致と関連付けられた高いベクトル検索スコアを持つデータが取得されます。これにより、最も関連性が高い検索結果と関連付けられた高いハイブリッド検索スコアを持つデータが取得されます。
ベクトル検索で使用した同じクエリ例の場合、キーワード検索によってより関連性の高いコンテンツのランキングが上位になるため、LLM のグラウンディングが向上します。
クエリ:
select c.Chunk__c, h.hybrid_score__c, h.keyword_score__c, h.vector_score__c from hybrid_search(table(WikiArticle_c_hybrid_search_2_index__dlm), 'how does Google Chrome internet browser work ?', '', 100) as h join WikiArticle_c_hybrid_search_2_chunk__dlm as c on h.SourceRecordId__c=c.RecordId__c ORDER by h.hybrid_score__c desc limit 2;
結果:

強化検索インデックス
標準コンテンツチャンクを追加のメタデータと質問チャンクで強化し、検索拡張生成 (RAG) のベクター検索インデックスまたはハイブリッド検索インデックスを強化します。
キーワード、エンティティ、トピックの概要、コンテンツで回答される質問、コンテンツの要約などのメタデータをコンテンツチャンクから自動的に抽出することで、検索精度が大幅に向上します。この LLM が生成する強化は、手動選定の代替手段として機能し、AI エージェントが質問に回答するときに最も関連性の高い情報を特定しやすくします。
使用するには、ベクター検索インデックスまたはハイブリッド検索インデックスの作成時に強化チャンクを有効にします。検索インデックスの構築時に、Data 360 は 3 つの新しいチャンクを生成します。元のチャンクテキストを含むプレーンチャンク、メタデータテキストを含むチャンク、そのチャンクが回答できる質問を含むチャンクです。AI モデルで強化検索インデックス用のレトリーバーを作成します。RAG およびエージェントワークフローのプロンプトテンプレートとエージェントでレトリーバーを使用します。
次に、強化チャンクを結果に含む強化ハイブリッド検索インデックスのサンプルクエリを見てみましょう。
クエリ:
SELECT
"RagFileUDMO_Enriched_chunk"."Chunk__c" AS "Chunk",
"searchFunc"."hybrid_score__c" AS "hybrid_score__c",
"searchFunc"."SourceChunks__c" AS "SourceChunks__c",
"searchFunc"."ChunkProcessingType__c" AS "ChunkProcessingType__c",
"RagFileUDMO_Enriched_chunk"."ChunkType__c" AS "ChunkType__c"
FROM (
SELECT * FROM hybrid_search(TABLE("RagFileUDMO_Enriched_index__dlm"),
'What is the purpose of Multi-Terrain Select system?', 'ChunkProcessingType__c
= ''PLAIN''', 10)
UNION
SELECT * FROM hybrid_search(TABLE("RagFileUDMO_Enriched_index__dlm"),
'What is the purpose of Multi-Terrain Select system?', 'ChunkProcessingType__c
= ''QUESTION''', 10)
UNION
SELECT * FROM hybrid_search(TABLE("RagFileUDMO_Enriched_index__dlm"),
'What is the purpose of Multi-Terrain Select system?', 'ChunkProcessingType__c
= ''METADATA''', 10)
) AS "searchFunc"
INNER JOIN "RagFileUDMO_Enriched_chunk__dlm" AS "RagFileUDMO_Enriched_chunk"
ON "RagFileUDMO_Enriched_chunk"."RecordId__c" = "searchFunc"."RecordId__c"
INNER JOIN "RagFileUDMO__dlm" AS "RagFileUDMO"
ON "RagFileUDMO"."FilePath__c" =
"RagFileUDMO_Enriched_chunk"."SourceRecordId__c"
AND "RagFileUDMO"."KQ_FilePath__c" IS NOT DISTINCT FROM
"RagFileUDMO_Enriched_chunk"."KQ_SourceRecordId__c"
ORDER BY "searchFunc"."hybrid_score__c" DESC結果:

この機能を Data Cloud で使用すると、Flex Credits を消費します。詳細は、「Billing Considerations for Enriched Index (強化インデックスの請求に関する考慮事項)」を参照してください。詳細は、アカウントエグゼクティブにお問い合わせください。
まとめ
Data 360 で検索インデックスを構築して、組織の非構造化データ、準構造化データ、構造化データで AI のグラウンディングを行えます。
エンドユーザーとアプリケーションからの検索クエリに最適な検索種別を選択してください。ユーザーのクエリが主に一般情報に関するものである場合やクエリが長い場合 (5 単語以上) は、ベクトル検索で十分です。ベクトル検索では、ユーザークエリがコンテキストコンテンツ (通常、長めのクエリ) の場合に、関連性の高い結果が提示されます。
クエリに対してセマンティック検索の一致とキーワード検索の一致の両方が組み合わされた最も精度と関連性が高い結果を取得するには、ハイブリッド検索インデックスを作成します。
追加のメタデータと質問チャンクによる検索インデックスの強化は、検索精度向上の効果が、大規模言語モデル (LLM) での追加チャンク生成コストを上回る場合に行います。
