Compartir a través de


IDocumentsOperations.GetWithHttpMessagesAsync Método

Definición

Sobrecargas

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

Recupera un documento del índice de búsqueda. https://docs.microsoft.com/rest/api/searchservice/Lookup-Document

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

Recupera un documento del índice de búsqueda. https://docs.microsoft.com/rest/api/searchservice/Lookup-Document

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

Recupera un documento del índice de búsqueda. 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))

Parámetros

key
String

Clave del documento que se va a recuperar; Consulte https://docs.microsoft.com/rest/api/searchservice/Naming-rules las reglas para construir claves de documento válidas.

selectedFields
IEnumerable<String>

Lista de nombres de campo que se van a recuperar para el documento; Faltará cualquier campo que no se recupere del documento devuelto.

searchRequestOptions
SearchRequestOptions

Parámetros adicionales para la operación

customHeaders
Dictionary<String,List<String>>

Encabezados que se agregarán a la solicitud.

cancellationToken
CancellationToken

Token de cancelación.

Devoluciones

Respuesta que contiene el documento.

Comentarios

Las sobrecargas no genéricas de los métodos Get, GetAsync y GetWithHttpMessagesAsync hacen un mejor intento de asignar tipos JSON en la carga de respuesta a los tipos de .NET. Esta asignación no tiene la ventaja de la información de tipo precisa del índice, por lo que la asignación no siempre es correcta. En concreto, tenga en cuenta los siguientes casos:

  • Cualquier valor numérico sin un separador decimal se deserializará en System.Int64 (long en C#, int64 en F#).
  • Los valores de punto flotante de precisión doble especiales, como NaN e Infinity, se deserializarán como tipo System.String en lugar de System.Double, incluso si están en matrices con valores de punto flotante normales.
  • Cualquier campo de cadena con un valor con formato DateTimeOffset se deserializará incorrectamente. Esto también se aplica a estos valores en matrices de cadenas. Se recomienda almacenar estos valores en campos Edm.DateTimeOffset en lugar de en campos Edm.String.
  • Cualquier campo Edm.DateTimeOffset se deserializará como System.DateTimeOffset, no System.DateTime.
  • Cualquier matriz JSON vacía se deserializará como una matriz de System.Object (object[] en C#, obj[] en F#).
  • Cualquier matriz de un tipo primitivo se deserializará como una matriz de su tipo .NET correspondiente, no como una matriz de System.Object, a menos que los valores no se puedan deserializar en el mismo tipo. Por ejemplo, las matrices [3.14, "NaN"] y ["hello", "2016-10-10T17:41:05.123-07:00"] se deserializarán como matrices de System.Object (object[] en C#, obj[] en F#). Esto se debe a que los valores dobles especiales siempre se deserializan como cadenas, mientras que las cadenas que parecen DateTimeOffset siempre se deserializan como DateTimeOffset.
  • Los campos complejos se deserializarán de forma recursiva en instancias de tipo Document. Del mismo modo, los campos de colección complejos se deserializarán en matrices de tales instancias.

Se aplica a

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

Recupera un documento del índice de búsqueda. 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))

Parámetros de tipo

T

Tipo CLR que se asigna al esquema de índice. Las instancias de este tipo se pueden recuperar como documentos del índice.

Parámetros

key
String

Clave del documento que se va a recuperar; Consulte https://docs.microsoft.com/rest/api/searchservice/Naming-rules las reglas para construir claves de documento válidas.

selectedFields
IEnumerable<String>

Lista de nombres de campo que se van a recuperar para el documento; Cualquier campo no recuperado tendrá null o valor predeterminado como su valor de propiedad correspondiente en el objeto devuelto.

searchRequestOptions
SearchRequestOptions

Parámetros adicionales para la operación

customHeaders
Dictionary<String,List<String>>

Encabezados que se agregarán a la solicitud.

cancellationToken
CancellationToken

Token de cancelación.

Devoluciones

Respuesta que contiene el documento.

Comentarios

Las sobrecargas genéricas de los métodos Get, GetAsync y GetWithHttpMessagesAsync admiten la asignación de tipos de campo de Azure Search a tipos de .NET a través del parámetro de tipo T. Tenga en cuenta que todos los tipos de campo de búsqueda excepto las colecciones aceptan valores NULL, por lo que se recomienda usar tipos que aceptan valores NULL para las propiedades de T. La asignación de tipos es la siguiente:

Tipo de campo de búsquedaTipo de .NET
Edm.StringSystem.String (cadena en C# y F#)
Edm.BooleanSystem.Nullable<System.Boolean> (bool? en C#, Bool> que acepta valores<NULL en F#)
Edm.DoubleSystem.Nullable<System.Double> (double? en C#, float> que acepta valores<NULL en F#)
Edm.Int32System.Nullable<System.Int32> (int? en C#, nullable<int> en 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#) o System.Nullable<System.DateTime> (DateTime? en C#, Nullable<DateTime> en F#). Ambos tipos funcionan, aunque se recomienda usar DateTimeOffset. Al recuperar documentos, los valores DateTime siempre estarán en FORMATO UTC. Al indexar documentos, los valores DateTime se interpretan de la siguiente manera:
UTC DateTimeSe envía tal y como está al índice.
Local DateTimeSe convierte en UTC antes de enviarse al índice.
DateTime con zona horaria no especificadaSe supone que es UTC y se envía tal y como está en el índice.
Edm.GeographyPointMicrosoft.Spatial.GeographyPoint
Edm.ComplexType Cualquier tipo que se pueda deserializar de los objetos JSON en el campo complejo. Puede ser un tipo de valor o un tipo de referencia, pero se recomienda usar un tipo de referencia, ya que los campos complejos admiten valores NULL en Azure Cognitive Search.
Collection(Edm.String)IEnumerable<System.String> (cadena seq>< en F#)
Collection(Edm.Boolean)IEnumerable<System.Boolean> (seq<bool> en F#)
Collection(Edm.Double)IEnumerable<System.Double> (seq<float> en F#)
Collection(Edm.Int32)IEnumerable<System.Int32> (seq<int> en F#)
Collection(Edm.Int64)IEnumerable<System.Int64> (seq<int64> en F#)
Collection(Edm.DateTimeOffset) IEnumerable<System.DateTimeOffset> o IEnumerable<System.DateTime> (seq DateTimeOffset> o seq<<DateTime> en F#). Ambos tipos funcionan, aunque se recomienda usar IEnumerable<System.DateTimeOffset>. Consulte las notas anteriores en Edm.DateTimeOffset para obtener más información.
Collection(Edm.GeographyPoint)IEnumerable<Microsoft.Spatial.GeographyPoint> (seq<GeographyPoint> en F#)
Collection(Edm.ComplexType) IEnumerable<U> (seq<U> en F#) donde U es cualquier tipo que se pueda deserializar de los objetos JSON en el campo de colección compleja. Puede ser un tipo de valor o un tipo de referencia.

Se aplica a