クエリを作成する
このページの翻訳はAIによって自動的に行われました。可能な限り正確な翻訳を心掛けていますが、原文と異なる表現や解釈が含まれる場合があります。正確で公式な情報については、必ず英語の原文をご参照ください。
クエリクライアントを使用してクエリを作成し、次のいずれかのクエリを実行したり、結果を反復処理したりできます。
クエリ結果の表示
クエリを実行すると、IQueryResultが返されます。この結果には、次のプロパティがあります。
-
Items - クエリに一致したエンティティ/ID (合計結果のサブセットにすることができます)。
-
TotalNumberOfResults - Sitecore Content Hubでクエリに一致したアイテムの数 (すべてがItemsにあるわけではない場合でも)。
-
Offset - スキップされた項目の数。
1つのエンティティのクエリ
クエリが1つのエンティティのみに一致することが確実な場合は、singleAsyncメソッドを使用できます。
複数の項目がクエリに一致すると、InvalidOperationExceptionがスローされます。
1つのエンティティIDのクエリ
クエリが1つのエンティティのみに一致することが確実な場合は、singleIdAsyncメソッドを使用すると便利です。
複数の項目がクエリに一致すると、InvalidOperationExceptionがスローされます。
1つまたは複数のエンティティのクエリ
1つ以上のエンティティをクエリするには:
IEntityQueryResult.Itemsには、返されたエンティティが含まれています。
1つまたは複数のエンティティIDのクエリ
1つ以上のエンティティをクエリするには:
IIdQueryResult.Itemsには、返されたエンティティが含まれています。
クエリ結果エンティティの反復処理
クエリが小規模から中規模の結果を返す場合 (既定の構成は最大10,000件の結果)、反復子を使用してエンティティを簡単にバッチ処理できます。
次のコード スニペットでは、反復子が作成されます。
次のコード スニペットでは、イテレータを使用してエンティティをバッチ処理しています。
whileループは、イテレータがエンティティのすべてのバッチの処理を完了すると自動的に終了します。
イテレータが設定された結果の最大数を超えると、サーバは例外をスローします。この場合、巻物が必要です。
クエリ結果エンティティIDの反復処理
クエリが小さいサイズから中程度のサイズの結果を返す場合 (既定の構成は最大10.000の結果)、イテレータを使用してエンティティIDを簡単にバッチ処理できます。
次のコード スニペットでは、反復子が作成されます。
次のコード スニペットでは、反復子を使用してエンティティIDをバッチ処理します。
whileループは、イテレータがエンティティのすべてのバッチの処理を完了すると自動的に終了します。
イテレータが設定された結果の最大数を超えると、サーバは例外をスローします。この問題を解決するには、スクロールで別のクエリを使用できます。スクロールは、最初のいくつかの要素をスキップするために使用されます。
次の例は、スクロールを使用して最初の200個の要素をスキップする方法を示しています。