簡易検索の検索アイテム制限の操作

注意

Effective November 2020:

  • Common Data Service has been renamed to Microsoft Dataverse. Learn more
  • Some terminology in Microsoft Dataverse has been updated. For example, entity is now table and field is now column. Learn more

This article will be updated soon to reflect the latest terminology.

簡易検索は、Dynamics 365 Customer Engagement または Common Data Service エンティティ全体で既定の検索エクスペリエンスを構成するための簡単な方法を提供します。 簡易検索は、1 つのクエリで複数のフィールドに渡って最適化された検索を提供します。 簡易検索を使用すると、クエリの実行中にデータ サービスが次のエラーを返す場合があります。

この検索のレコード数がクイック検索のレコード制限を超えています。

このエラーは、クエリが制限を超えた結果を受け取り、データ サービスのリソース消費が潜在的な停止を引き起こさないように停止されたために発生します。 この記事では、10,000 の検索アイテムの制限の計算方法について説明し、この制限に達しないようにするためのベスト プラクティスを含んでいます。

注意

簡易検索は、次のいずれかのフィルター属性を含む FetchXML クエリです: isquickfindqueryisquickfindfields

検索アイテム制限の計算方法

簡易検索クエリでは 2 つのステージの実行を使用します。 最初のステージでは、簡易検索フィルターおよび提供された検索文字列を使用して、追加のフィルターを適用する前にレコードを収集します。 クエリ エンジンでは、このステージで 10,000 レコードの制限を強制します。

第 2 のステージでは、最初のステージからの結果セットを使用して、関連するレコードまたはセキュリティ フィルターなどの、残りのフィルターを実行します。

次の FetchXML 簡易検索クエリを検討します:

<fetch version='1.0' output-format='xml-platform' mapping='logical'>
  <entity name='account'>
    <attribute name='name' />
    <filter type='or' isquickfindfields='1' overridequickfindrecordlimitenabled='1'>
      <condition attribute='name' operator='like' value='%A%' />
    </filter>
    <filter type='and'>
      <condition attribute='statecode' operator='eq' value='0'/>
    </filter>
  </entity>
</fetch>

クエリ エンジンは、最初に “名前” の条件を実行します。 検索は短い検索文字列でワイルドカードを使用しているため、クエリはその他のフィルターを実行する前に 10k の制限に達します。 第 2 のステージの後に結果セットが 10k 未満のレコードにフィルター処理された場合でも (ステージ コード値を適用するとき)、クエリ エンジンは最初のステージで例外に達し、第 2 のステージに進まないことに注意することが重要です。

検索制限が簡易検索クエリに適用されないとき

クエリ エンジンでは、1 つまたはゼロの検索列を含む簡易検索クエリを、簡易検索としてではなく標準クエリとして扱います。 このようなクエリには、10,000 レコードの制限は適用されません。 1 つまたはそれ以下の条件の簡易検索クエリでは、簡易検索よりも標準クエリとしてより優れたパフォーマンスを実行するからです。

検索制限の例外を回避する

Dynamics 365 Customer ENgagement または Common Data Service で簡易検索クエリを記述および実行するとき、次のヒントを使用して 10k 検索制限を回避します:

クエリを実行するときのベスト プラクティス

データのクエリを実行するときに、次のベスト プラクティスが実行される必要があります。

  • 簡易検索クエリ ビューに不要なフィールドを追加することを避ける
  • 汎用なクエリおよび不要なワイルドカードを避けて、クエリをできるだけ正確に保つ

特定の例外クエリ

この制限を一時的に越えるクエリを使用する特定のニーズがある場合は、FetchXML クエリを編集して、フィルター XML 要素内で overridequickfindrecordlimitenabled 属性をゼロに等しくする設定を含めます。 この属性の使用は、特定の簡易検索クエリの 10k 制限を無効にします。

組織の上書き

ビジネス組織のクエリが定期的に 10k を超える検索アイテムを返す極端なケースの場合、管理者が Microsoft サポートに連絡して、10k のアイテム制限を無効にするよう要求できます。 制限を無効にすることはお勧めしておらず、誤って使用する場合、リソースの過剰消費および環境全体の停止につながる可能性があります。

関連項目

FetchXML の使用によるクエリの作成