SearchClient.GetDocumentAsync<T> メソッド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
Azure Cognitive Searchからドキュメントを取得します。 これは、ユーザーが特定の検索結果をクリックして、そのドキュメントに関する詳細を検索するときに役立ちます。 一度に取得できるドキュメントは 1 つだけです。 1 回の要求で複数のドキュメントを取得するには、Search を使用します。 ドキュメントの参照
public virtual System.Threading.Tasks.Task<Azure.Response<T>> GetDocumentAsync<T> (string key, Azure.Search.Documents.GetDocumentOptions options = default, System.Threading.CancellationToken cancellationToken = default);
abstract member GetDocumentAsync : string * Azure.Search.Documents.GetDocumentOptions * System.Threading.CancellationToken -> System.Threading.Tasks.Task<Azure.Response<'T>>
override this.GetDocumentAsync : string * Azure.Search.Documents.GetDocumentOptions * System.Threading.CancellationToken -> System.Threading.Tasks.Task<Azure.Response<'T>>
Public Overridable Function GetDocumentAsync(Of T) (key As String, Optional options As GetDocumentOptions = Nothing, Optional cancellationToken As CancellationToken = Nothing) As Task(Of Response(Of T))
型パラメーター
- T
インデックス スキーマにマップされる .NET 型。 この型のインスタンスは、インデックスからドキュメントとして取得できます。
パラメーター
- key
- String
必須。 インデックス内の各ドキュメントを一意に識別する文字列値。 キーは、ドキュメント ID と呼ばれることもあります。 有効なドキュメント キーを作成するための規則については、「 名前付け 規則」を参照してください。
- options
- GetDocumentOptions
操作の動作をカスタマイズするためのオプション。
- cancellationToken
- CancellationToken
操作を取り消す必要がある通知を伝達する場合は省略可能 CancellationToken です。
戻り値
に key
対応するドキュメント。
例外
Search Service によってエラーが返されたときにスローされます。
注釈
メソッドと GetDocumentAsync<T>(String, GetDocumentOptions, CancellationToken) メソッドではGetDocument<T>(String, GetDocumentOptions, CancellationToken)、型パラメーター T
を使用した Azure Search フィールド型と .NET 型のマッピングがサポートされています。 コレクションを除くすべての検索フィールド型は null 許容であるため、 の T
プロパティに null 許容型を使用することをお勧めします。 型マッピングは次のとおりです。
検索フィールドの種類 | .NET の種類 | ||||||
---|---|---|---|---|---|---|---|
Edm.String | String (C# と F# の string) | ||||||
Edm.Boolean | Nullable<T> (c# では bool?\F# では Null 許容<ブール> 値) | ||||||
Edm.Double | Nullable<T> (C# では double? 、F# では Null 許容<float> ) | ||||||
Edm.Int32 | Nullable<T> (c# では int?、F# では Null 許容<int> ) | ||||||
Edm.Int64 | Nullable<T> (c# では long? 、F# では Null 許容<int64> ) | ||||||
Edm.DateTimeOffset | Nullable<T> (DateTimeOffset? in C#, Nullable<F#の DateTimeOffset> ) または System.Nullable<System.DateTime> (DateTime? (C# では Null 許容 DateTime、F# では Null 許容<DateTime> )。 どちらの型も機能しますが、DateTimeOffset を使用することをお勧めします。 ドキュメントを取得する場合、DateTime 値は常に UTC になります。 ドキュメントにインデックスを作成すると、DateTime 値は次のように解釈されます。
| ||||||
Edm.GeographyPoint | Azure.Core.GeoJson.GeoPoint | ||||||
Edm.ComplexType | 複合フィールドの JSON オブジェクトから逆シリアル化できる任意の型。 値型または参照型を指定できますが、Azure Cognitive Searchでは複合フィールドが null 許容であるため、参照型を使用することをお勧めします。 | ||||||
Collection(Edm.String) | IEnumerable<T> (F#の seq<string> ) | ||||||
Collection(Edm.Boolean) | IEnumerable<T> (F# の seq<bool> ) | ||||||
Collection(Edm.Double) | IEnumerable<T> (F# の seq<float> ) | ||||||
Collection(Edm.Int32) | IEnumerable<T> (F# の seq<int> ) | ||||||
Collection(Edm.Int64) | IEnumerable<T> (F# の seq<int64> ) | ||||||
Collection(Edm.DateTimeOffset) | IEnumerable<T> または IEnumerable<T> (<F# の場合は seq DateTimeOffset> または seq<DateTime> )。 どちらの型も機能しますが、 を使用 IEnumerable<T>することをお勧めします。 詳細については、Edm.DateTimeOffset に関する上記のメモを参照してください。 | ||||||
Collection(Edm.GeographyPoint) | Azure.Core.GeoJson.GeoPoint のシーケンス (F# の geoPoint> のシーケンス<) | ||||||
Collection(Edm.ComplexType) | IEnumerable<T> (seq<F# の T> )。 T は、複合コレクション フィールドの JSON オブジェクトから逆シリアル化できる任意の型です。 値型または参照型を指定できます。 |
T
使用することもできます。応答ペイロード内の JSON 型を .NET 型にマップしようとします。 このマッピングには、インデックスからの正確な型情報の利点がないため、マッピングが常に正しいとは限りません。 特に、次の場合に注意してください。- 小数点のない数値は、変換Int64できる場合は (C#では int、F#では int32)、それ以外の場合は (C#では long、F#では int64) に逆シリアル化Int32されます。
- NaN や Infinity などの特殊な倍精度浮動小数点値は、通常の浮動小数点値を持つ配列内にある場合でも、 ではなくDouble型Stringとして逆シリアル化されます。
- Edm.DateTimeOffset フィールドは、 ではなく DateTimeとしてDateTimeOffset逆シリアル化されます。
- 空の JSON 配列は、(C# では object[]、F# では obj[]) の配列 Object として逆シリアル化されます。
- 複合フィールドは、 型 SearchDocumentのインスタンスに再帰的に逆シリアル化されます。 同様に、複雑なコレクション フィールドは、このようなインスタンスの配列に逆シリアル化されます。
適用対象
Azure SDK for .NET