検索を操作する

Version:
日本語翻訳に関する免責事項

このページの翻訳はAIによって自動的に行われました。可能な限り正確な翻訳を心掛けていますが、原文と異なる表現や解釈が含まれる場合があります。正確で公式な情報については、必ず英語の原文をご参照ください。

xConnect Client APIでは、コンタクト ( client.Contacts経由) と インタラクション ( client.Interactions経由) を検索できます。インタラクション検索は、行動検索とも呼ばれます。イベントとファセットを直接クエリすることはできません - 次の表に示すように、連絡先またはインタラクションを中心にクエリを構成する必要があります。

クエリ要件

クエリ

ロンドンのすべての住所を取得する

AddressListファセットにロンドンの住所が含まれているすべての連絡先を取得する

昨日発生したすべてのページ訪問を取得する

昨日発生したすべてのインタラクションを取得し、次のタイプのイベントを含む PageViewEvent

先週のすべての「ダウンロード」イベントを入手

先週発生したすべてのインタラクションを取得し、DownloadEventイベントを含む

インデキシング

大事な

インデックス作成は、処理サーバーではなく、専用の検索インデクサーによって実行されます。これは、バージョン8.2以前のバージョンからの大幅な変更です。

インデックス作成とxConnect Searchのアーキテクチャの詳細については、以下を参照してください。

同期検索と非同期検索

同期および非同期の拡張メソッドの完全なリストについては、xConnectクライアントAPIの概要 を参照してください。

xConnectはSitecoreを使用しません。コンテンツ検索

xConnect SearchxConnect Sitecore.ContentSearchに依存しません。xConnect searchとContent Searchは、別々のAPIとインデックス作成メカニズムを持つ別々のフレームワークです。詳細については、検索とインデックス作成の概要を参照してください。

Searchでは大文字と小文字が区別されません

Searchでは、結果を見つけやすくするために、既定では大文字と小文字が区別されません。これは、Solrスキーマ・レベルで設定されます。

結合のサポートは検索プロバイダーによって異なります

Solrは、連絡先とインタラクション間の結合をサポートします。Azure Searchは現在、結合をサポートしていません。

次の例は、特定のメディア項目をダウンロードした連絡先を検索する方法を示しています。クエリは結合を使用します。

var mediaItemId = Guid.Parse("bf34c300-0c0a-4aab-9055-97854f17d134");

var query = client.Contacts.Where(c => c.Interactions.Any(x => x.Events.OfType<DownloadEvent>().Any(d => d.ItemId == mediaItemId)));

var results = await query.GetBatchEnumerator(10);

結合をサポートしていない検索プロバイダーを使用している場合は、コンタクトのInteractionsCacheファセットを使用する必要があります。

var mediaItemId = Guid.Parse("bf34c300-0c0a-4aab-9055-97854f17d134");

var query = client.Contacts.Where(c => c.InteractionsCache().InteractionCaches.Any(x => x.DownloadEventItemIds.Any(f => f == mediaItemId)));

var results = await query.GetBatchEnumerator(10);
この記事を改善するための提案がある場合は、 お知らせください!