IDocumentsOperations.GetWithHttpMessagesAsync Método

Definição

Sobrecargas

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

Recupera um documento do índice de pesquisa. https://docs.microsoft.com/rest/api/searchservice/Lookup-Document

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

Recupera um documento do índice de pesquisa. https://docs.microsoft.com/rest/api/searchservice/Lookup-Document

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

Recupera um documento do índice de pesquisa. 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

A chave do documento a ser recuperado; Consulte https://docs.microsoft.com/rest/api/searchservice/Naming-rules as regras para construir chaves de documento válidas.

selectedFields
IEnumerable<String>

Lista de nomes de campo a serem recuperados para o documento; Qualquer campo não recuperado estará ausente do documento retornado.

searchRequestOptions
SearchRequestOptions

Parâmetros adicionais para a operação

customHeaders
Dictionary<String,List<String>>

Os cabeçalhos que serão adicionados à solicitação.

cancellationToken
CancellationToken

O token de cancelamento.

Retornos

Resposta que contém o documento.

Comentários

As sobrecargas não genéricas dos métodos Get, GetAsync e GetWithHttpMessagesAsync fazem uma tentativa de melhor esforço para mapear tipos JSON na carga de resposta para tipos .NET. Esse mapeamento não tem o benefício de informações precisas de tipo do índice, portanto, o mapeamento nem sempre está correto. Em particular, esteja ciente dos seguintes casos:

  • Qualquer valor numérico sem um ponto decimal será desserializado para System.Int64 (long em C#, int64 em F#).
  • Valores especiais de ponto flutuante de precisão dupla, como NaN e Infinity, serão desserializados como o tipo System.String em vez de System.Double, mesmo que estejam em matrizes com valores de ponto flutuante regulares.
  • Qualquer campo de cadeia de caracteres com um valor formatado como DateTimeOffset será desserializado incorretamente. Isso também se aplica a esses valores em matrizes de cadeias de caracteres. Recomendamos armazenar esses valores em campos Edm.DateTimeOffset em vez de campos Edm.String.
  • Qualquer campo Edm.DateTimeOffset será desserializado como um System.DateTimeOffset, não System.DateTime.
  • Qualquer matriz JSON vazia será desserializada como uma matriz de System.Object (object[] em C#, obj[] em F#).
  • Qualquer matriz de um tipo primitivo será desserializada como uma matriz de seu tipo .NET correspondente, não como uma matriz de System.Object, a menos que os valores não possam ser desserializados para o mesmo tipo. Por exemplo, as matrizes [3.14, "NaN"] e ["hello", "2016-10-10T17:41:05.123-07:00"] serão desserializadas como matrizes de System.Object (object[] em C#, obj[] em F#). Isso ocorre porque os valores duplos especiais sempre desserializam como cadeias de caracteres, enquanto cadeias de caracteres que se parecem com DateTimeOffset sempre desserializam como DateTimeOffset.
  • Campos complexos serão desserializados recursivamente em instâncias do tipo Document. Da mesma forma, campos de coleção complexos serão desserializados em matrizes dessas instâncias.

Aplica-se a

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

Recupera um documento do índice de pesquisa. 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

O tipo CLR que mapeia para o esquema de indexação. Instâncias desse tipo podem ser recuperadas como documentos do índice.

Parâmetros

key
String

A chave do documento a ser recuperado; Consulte https://docs.microsoft.com/rest/api/searchservice/Naming-rules as regras para construir chaves de documento válidas.

selectedFields
IEnumerable<String>

Lista de nomes de campo a serem recuperados para o documento; Qualquer campo não recuperado terá nulo ou padrão como seu valor de propriedade correspondente no objeto retornado.

searchRequestOptions
SearchRequestOptions

Parâmetros adicionais para a operação

customHeaders
Dictionary<String,List<String>>

Os cabeçalhos que serão adicionados à solicitação.

cancellationToken
CancellationToken

O token de cancelamento.

Retornos

Resposta que contém o documento.

Comentários

As sobrecargas genéricas dos métodos Get, GetAsync e GetWithHttpMessagesAsync dão suporte ao mapeamento de tipos de campo do Azure Search para tipos .NET por meio do parâmetro de tipo T. Observe que todos os tipos de campo de pesquisa, exceto coleções, são anuláveis, portanto, recomendamos usar tipos anuláveis para as propriedades de T. O mapeamento de tipo é o seguinte:

Tipo de campo de pesquisaTipo .NET
Edm.StringSystem.String (cadeia de caracteres em C# e F#)
Edm.BooleanSystem.Nullable<System.Boolean> (bool? em C#, bool> anulável<em F#)
Edm.DoubleSystem.Nullable<System.Double> (double? in C#, Float anulável>< em F#)
Edm.Int32System.Nullable<System.Int32> (int? int? in C#, Nullable<int int> in F#)
Edm.Int64System.Nullable<System.Int64> (long? in C#, Nullable<int64> in F#)
Edm.DateTimeOffset System.Nullable<System.DateTimeOffset (DateTimeOffset>? em C#, DateTimeOffset> anulável<em F#) ou System.Nullable<System.DateTime (DateTime>? em C#, DateTime> anulável<em F#). Ambos os tipos funcionam, embora seja recomendável usar DateTimeOffset. Ao recuperar documentos, os valores datetime sempre estarão em UTC. Ao indexar documentos, os valores datetime são interpretados da seguinte maneira:
DateTime UTCEnviado como está para o índice.
Local DateTimeConvertido em UTC antes de ser enviado para o índice.
DateTime com fuso horário não especificadoSupõe-se que seja UTC e enviado como está para o índice.
Edm.GeographyPointMicrosoft.Spatial.GeographyPoint
Edm.ComplexType Qualquer tipo que possa ser desserializado dos objetos JSON no campo complexo. Isso pode ser um tipo de valor ou um tipo de referência, mas recomendamos usar um tipo de referência, pois campos complexos são anuláveis em Azure Cognitive Search.
Collection(Edm.String)IEnumerable<System.String> (cadeia de caracteres> seq<em 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 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> em F#). Ambos os tipos funcionam, embora seja recomendável usar IEnumerable<System.DateTimeOffset>. Consulte as anotações acima em Edm.DateTimeOffset para obter detalhes.
Collection(Edm.GeographyPoint)IEnumerable<Microsoft.Spatial.GeographyPoint> (seq<GeographyPoint> em F#)
Collection(Edm.ComplexType) IEnumerable<U> (seq<U> in F#) em que U é qualquer tipo que pode ser desserializado dos objetos JSON no campo de coleção complexa. Pode ser um tipo de valor ou um tipo de referência.

Aplica-se a