Partager via


IDocumentsOperations.GetWithHttpMessagesAsync Méthode

Définition

Surcharges

GetWithHttpMessagesAsync(String, IEnumerable<String>, SearchRequestOptions, Dictionary<String,List<String>>, CancellationToken)

Récupère un document à partir de l’index de recherche. https://docs.microsoft.com/rest/api/searchservice/Lookup-Document

GetWithHttpMessagesAsync<T>(String, IEnumerable<String>, SearchRequestOptions, Dictionary<String,List<String>>, CancellationToken)

Récupère un document à partir de l’index de recherche. https://docs.microsoft.com/rest/api/searchservice/Lookup-Document

GetWithHttpMessagesAsync(String, IEnumerable<String>, SearchRequestOptions, Dictionary<String,List<String>>, CancellationToken)

Récupère un document à partir de l’index de recherche. https://docs.microsoft.com/rest/api/searchservice/Lookup-Document

public System.Threading.Tasks.Task<Microsoft.Rest.Azure.AzureOperationResponse<Microsoft.Azure.Search.Models.Document>> GetWithHttpMessagesAsync (string key, System.Collections.Generic.IEnumerable<string> selectedFields, Microsoft.Azure.Search.Models.SearchRequestOptions searchRequestOptions = default, System.Collections.Generic.Dictionary<string,System.Collections.Generic.List<string>> customHeaders = default, System.Threading.CancellationToken cancellationToken = default);
abstract member GetWithHttpMessagesAsync : string * seq<string> * Microsoft.Azure.Search.Models.SearchRequestOptions * System.Collections.Generic.Dictionary<string, System.Collections.Generic.List<string>> * System.Threading.CancellationToken -> System.Threading.Tasks.Task<Microsoft.Rest.Azure.AzureOperationResponse<Microsoft.Azure.Search.Models.Document>>
Public Function GetWithHttpMessagesAsync (key As String, selectedFields As IEnumerable(Of String), Optional searchRequestOptions As SearchRequestOptions = Nothing, Optional customHeaders As Dictionary(Of String, List(Of String)) = Nothing, Optional cancellationToken As CancellationToken = Nothing) As Task(Of AzureOperationResponse(Of Document))

Paramètres

key
String

Clé du document à récupérer ; Consultez https://docs.microsoft.com/rest/api/searchservice/Naming-rules pour connaître les règles de construction de clés de document valides.

selectedFields
IEnumerable<String>

Liste des noms de champs à récupérer pour le document ; Tout champ non récupéré sera manquant dans le document retourné.

searchRequestOptions
SearchRequestOptions

Paramètres supplémentaires pour l’opération

customHeaders
Dictionary<String,List<String>>

En-têtes qui seront ajoutés à la demande.

cancellationToken
CancellationToken

Jeton d'annulation.

Retours

Réponse contenant le document.

Remarques

Les surcharges non génériques des méthodes Get, GetAsync et GetWithHttpMessagesAsync permettent de mapper au mieux les 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 à partir 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 est désérialisée en System.Int64 (long en C#, int64 en F#).
  • Les valeurs à virgule flottante double précision spéciales telles que NaN et Infinity seront désérialisées en tant que type System.String plutôt que System.Double, même si elles se trouvent dans des tableaux avec des valeurs à virgule flottante régulières.
  • Tout champ de chaîne avec une valeur au format DateTimeOffset sera désérialisé de manière incorrecte. Cela s’applique également à ces valeurs dans les tableaux de chaînes. Nous vous recommandons de stocker ces valeurs dans les champs Edm.DateTimeOffset plutôt que dans les champs Edm.String.
  • Tout champ Edm.DateTimeOffset sera désérialisé en tant que System.DateTimeOffset, et non En tant que System.DateTime.
  • Tout tableau JSON vide est désérialisé en tant que tableau de System.Object (object[] en C#, obj[] en F#).
  • Tout tableau d’un type primitif est désérialisé en tant que tableau de son type .NET correspondant, et non en tant que tableau de System.Object, sauf si les valeurs ne peuvent pas toutes être désérialisées au même type. Par exemple, les tableaux [3.14, « NaN"] et ["hello », « 2016-10-10T17:41:05.123-07:00"] seront tous deux désérialisé en tant que tableaux de System.Object (object[] en C#, obj[] en F#). Cela est dû au fait que les valeurs doubles spéciales désérialisent toujours en tant que chaînes, tandis que les chaînes qui ressemblent à DateTimeOffset désérialisent toujours en tant que DateTimeOffset.
  • Les champs complexes seront désérialisés de manière récursive en instances de type Document. De même, les champs de collection complexes sont désérialisés dans des tableaux de ces instances.

S’applique à

GetWithHttpMessagesAsync<T>(String, IEnumerable<String>, SearchRequestOptions, Dictionary<String,List<String>>, CancellationToken)

Récupère un document à partir de l’index de recherche. https://docs.microsoft.com/rest/api/searchservice/Lookup-Document

public System.Threading.Tasks.Task<Microsoft.Rest.Azure.AzureOperationResponse<T>> GetWithHttpMessagesAsync<T> (string key, System.Collections.Generic.IEnumerable<string> selectedFields, Microsoft.Azure.Search.Models.SearchRequestOptions searchRequestOptions = default, System.Collections.Generic.Dictionary<string,System.Collections.Generic.List<string>> customHeaders = default, System.Threading.CancellationToken cancellationToken = default);
abstract member GetWithHttpMessagesAsync : string * seq<string> * Microsoft.Azure.Search.Models.SearchRequestOptions * System.Collections.Generic.Dictionary<string, System.Collections.Generic.List<string>> * System.Threading.CancellationToken -> System.Threading.Tasks.Task<Microsoft.Rest.Azure.AzureOperationResponse<'T>>
Public Function GetWithHttpMessagesAsync(Of T) (key As String, selectedFields As IEnumerable(Of String), Optional searchRequestOptions As SearchRequestOptions = Nothing, Optional customHeaders As Dictionary(Of String, List(Of String)) = Nothing, Optional cancellationToken As CancellationToken = Nothing) As Task(Of AzureOperationResponse(Of T))

Paramètres de type

T

Le type CLR qui mappe vers le schéma d'index. Les instances de ce type peuvent être récupérées en tant que documents à partir de l’index.

Paramètres

key
String

Clé du document à récupérer ; Consultez https://docs.microsoft.com/rest/api/searchservice/Naming-rules pour connaître les règles de construction de clés de document valides.

selectedFields
IEnumerable<String>

Liste des noms de champs à récupérer pour le document ; Tout champ non récupéré aura null ou valeur par défaut comme valeur de propriété correspondante dans l’objet retourné.

searchRequestOptions
SearchRequestOptions

Paramètres supplémentaires pour l’opération

customHeaders
Dictionary<String,List<String>>

En-têtes qui seront ajoutés à la demande.

cancellationToken
CancellationToken

Jeton d'annulation.

Retours

Réponse contenant le document.

Remarques

Les surcharges génériques des méthodes Get, GetAsync et GetWithHttpMessagesAsync prennent en charge le mappage des types de champs Recherche Azure aux types .NET via le paramètre de type T. 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 rechercheType .NET
Edm.StringSystem.String (chaîne en C# et F#)
Edm.BooleanSystem.Nullable<System.Boolean> (bool? en C#, Nullable<bool> en F#)
Edm.DoubleSystem.Nullable<System.Double> (double? en C#, Nullable<float> en F#)
Edm.Int32System.Nullable<System.Int32> (int? en C#, Nullable<int> dans F#)
Edm.Int64System.Nullable<System.Int64> (long? en C#, Nullable<int64> en F#)
Edm.DateTimeOffset System.Nullable<System.DateTimeOffset> (DateTimeOffset? en C#, Nullable<DateTimeOffset> en F#) ou System.Nullable<System.DateTime> (DateTime en C#, Nullable<DateTime> 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 au format UTC. Lors de l’indexation de documents, les valeurs DateTime sont interprétées comme suit :
DateTime UTCEnvoyé tel qu’il est à l’index.
Local DateTimeConverti en UTC avant d’être envoyé à l’index.
DateTime avec fuseau horaire non spécifiéIl est supposé être UTC et envoyé tel quelle à l’index.
Edm.GeographyPointMicrosoft.Spatial.GeographyPoint
Edm.ComplexType Tout type pouvant ê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 avoir la valeur Null dans Recherche cognitive Azure.
Collection(Edm.String)IEnumerable<System.String> (chaîne> seq<en F#)
Collection(Edm.Boolean)IEnumerable<System.Boolean> (seq<bool> in F#)
Collection(Edm.Double)IEnumerable<System.Double> (seq<float> in F#)
Collection(Edm.Int32)IEnumerable<System.Int32> (seq<int in F> #)
Collection(Edm.Int64)IEnumerable<System.Int64> (seq<int64> in F#)
Collection(Edm.DateTimeOffset) IEnumerable<System.DateTimeOffset> ou IEnumerable<System.DateTime> (seq<DateTimeOffset> ou seq<DateTime> en F#). Les deux types fonctionnent, bien que nous vous recommandons d’utiliser IEnumerable<System.DateTimeOffset>. Pour plus d’informations, consultez les notes ci-dessus sur Edm.DateTimeOffset.
Collection(Edm.GeographyPoint)IEnumerable<Microsoft.Spatial.GeographyPoint> (seq<GeographyPoint> en F#)
Collection(Edm.ComplexType) IEnumerable<U> (seq<U> en F#) où U est tout type pouvant ê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 référence.

S’applique à