次の方法で共有


SearchClient.GetDocumentAsync<T> メソッド

定義

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.StringString (C# と F# の string)
Edm.BooleanNullable<T> (c# では bool?\F# では Null 許容<ブール> 値)
Edm.DoubleNullable<T> (C# では double? 、F# では Null 許容<float> )
Edm.Int32Nullable<T> (c# では int?、F# では Null 許容<int> )
Edm.Int64Nullable<T> (c# では long? 、F# では Null 許容<int64> )
Edm.DateTimeOffsetNullable<T> (DateTimeOffset? in C#, Nullable<F#の DateTimeOffset> ) または System.Nullable<System.DateTime> (DateTime? (C# では Null 許容 DateTime、F# では Null 許容<DateTime> )。 どちらの型も機能しますが、DateTimeOffset を使用することをお勧めします。 ドキュメントを取得する場合、DateTime 値は常に UTC になります。 ドキュメントにインデックスを作成すると、DateTime 値は次のように解釈されます。
UTC DateTimeそのままインデックスに送信されます。
Local DateTimeインデックスに送信される前に UTC に変換されます。
指定されていないタイム ゾーンを持つ DateTimeUTC と見なされ、そのままインデックスに送信されます。
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 オブジェクトから逆シリアル化できる任意の型です。 値型または参照型を指定できます。
動的 SearchDocument を として T 使用することもできます。応答ペイロード内の JSON 型を .NET 型にマップしようとします。 このマッピングには、インデックスからの正確な型情報の利点がないため、マッピングが常に正しいとは限りません。 特に、次の場合に注意してください。
  • 小数点のない数値は、変換Int64できる場合は (C#では int、F#では int32)、それ以外の場合は (C#では long、F#では int64) に逆シリアル化Int32されます。
  • NaN や Infinity などの特殊な倍精度浮動小数点値は、通常の浮動小数点値を持つ配列内にある場合でも、 ではなくDoubleStringとして逆シリアル化されます。
  • Edm.DateTimeOffset フィールドは、 ではなく DateTimeとしてDateTimeOffset逆シリアル化されます。
  • 空の JSON 配列は、(C# では object[]、F# では obj[]) の配列 Object として逆シリアル化されます。
  • 複合フィールドは、 型 SearchDocumentのインスタンスに再帰的に逆シリアル化されます。 同様に、複雑なコレクション フィールドは、このようなインスタンスの配列に逆シリアル化されます。

適用対象