SearchClient.GetDocumentAsync<T> Méthode
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Récupère un document à partir de Recherche cognitive Azure. Cela est utile quand un utilisateur clique sur un résultat de recherche en particulier et que vous voulez rechercher des détails spécifiques sur ce document. Vous ne pouvez obtenir qu'un seul document à la fois. Utilisez Search pour obtenir plusieurs documents dans une requête unique. Recherche de document
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))
Paramètres de type
- T
Type .NET mappé au schéma d’index. Les instances de ce type peuvent être récupérées sous forme de documents à partir de l’index.
Paramètres
- key
- String
Obligatoire. Valeur de chaîne qui identifie de manière unique chaque document dans l’index. La clé est parfois appelée ID de document. Consultez Règles de nommage pour connaître les règles de construction de clés de document valides.
- options
- GetDocumentOptions
Options permettant de personnaliser le comportement de l’opération.
- cancellationToken
- CancellationToken
Facultatif CancellationToken pour propager des notifications indiquant que l’opération doit être annulée.
Retours
Document correspondant à .key
Exceptions
Levée lorsqu’un échec est retourné par le service de recherche.
Remarques
Les GetDocument<T>(String, GetDocumentOptions, CancellationToken) méthodes et GetDocumentAsync<T>(String, GetDocumentOptions, CancellationToken) prennent en charge le mappage des types de champs Recherche Azure aux types .NET via le paramètre T
de type . Notez que tous les types de champs de recherche à l’exception des collections sont nullables. Nous vous recommandons donc d’utiliser des types nullables pour les propriétés de T
. Le mappage de type est le suivant :
Type de champ de recherche | Type .NET | ||||||
---|---|---|---|---|---|---|---|
Edm.String | String (chaîne en C# et F#) | ||||||
Edm.Boolean | Nullable<T>(bool? en C#,\ Bool> nullable<en F#) | ||||||
Edm.Double | Nullable<T>(double ? en C#, float> nullable<en F#) | ||||||
Edm.Int32 | Nullable<T>(int? in C#, Int> Nullable<en F#) | ||||||
Edm.Int64 | Nullable<T> (long ? en C#, Nullable<int64> en F#) | ||||||
Edm.DateTimeOffset | Nullable<T>(DateTimeOffset ? en C#, Nullable< DateTimeOffset> en F#) ou System.Nullable<System.DateTime> (DateTime ? en C#, DateTime> nullable<en F#). Les deux types fonctionnent, bien que nous vous recommandons d’utiliser DateTimeOffset. Lors de la récupération de documents, les valeurs DateTime sont toujours en UTC. Lors de l’indexation de documents, les valeurs DateTime sont interprétées comme suit :
| ||||||
Edm.GeographyPoint | Azure.Core.GeoJson.GeoPoint | ||||||
Edm.ComplexType | Tout type qui peut être désérialisé à partir des objets JSON dans le champ complexe. Il peut s’agir d’un type valeur ou d’un type référence, mais nous vous recommandons d’utiliser un type référence, car les champs complexes peuvent être nullables dans Recherche cognitive Azure. | ||||||
Collection(Edm.String) | IEnumerable<T>(chaîne> seq<en F#) | ||||||
Collection(Edm.Boolean) | IEnumerable<T> (seq<bool> en F#) | ||||||
Collection(Edm.Double) | IEnumerable<T> (seq<float> en F#) | ||||||
Collection(Edm.Int32) | IEnumerable<T> (seq<int> en F#) | ||||||
Collection(Edm.Int64) | IEnumerable<T> (seq<int64> en F#) | ||||||
Collection(Edm.DateTimeOffset) | IEnumerable<T> ou IEnumerable<T> (seq<DateTimeOffset> ou seq<DateTime> en F#). Les deux types fonctionnent, bien que nous vous recommandons d’utiliser IEnumerable<T>. Pour plus d’informations, consultez les notes ci-dessus sur Edm.DateTimeOffset. | ||||||
Collection(Edm.GeographyPoint) | séquence d’Azure.Core.GeoJson.GeoPoint (seq<GeoPoint> en F#) | ||||||
Collection(Edm.ComplexType) | IEnumerable<T> (seq)< T> en F#), où T est tout type qui peut être désérialisé à partir des objets JSON dans le champ de collection complexe. Il peut s’agir d’un type valeur ou d’un type de référence. |
T
et nous tenterons de mapper des types JSON dans la charge utile de réponse aux types .NET. Ce mappage n’a pas l’avantage d’informations de type précises de l’index, de sorte que le mappage n’est pas toujours correct. En particulier, tenez compte des cas suivants :- Toute valeur numérique sans virgule décimale sera désérialisée en ( Int32 int en C#, int32 en F#) si elle peut être convertie ou un Int64 (long en C#, int64 en F#) dans le cas contraire.
- Les valeurs à virgule flottante à double précision spéciales telles que NaN et Infinity seront désérialisées en tant que type String plutôt que Double, même si elles se trouvent dans des tableaux avec des valeurs à virgule flottante régulières.
- Tout champ Edm.DateTimeOffset sera désérialisé en tant que DateTimeOffset, et non DateTime.
- Tout tableau JSON vide sera désérialisé en tant que tableau de Object (object[] en C#, obj[] en F#).
- Les champs complexes seront désérialisés de manière récursive en instances de type SearchDocument. De même, les champs de collection complexes seront désérialisés dans des tableaux de telles instances.
S’applique à
Azure SDK for .NET