IDocumentsOperations.GetWithHttpMessagesAsync Método
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
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
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 pesquisa | Tipo .NET | ||||||
---|---|---|---|---|---|---|---|
Edm.String | System.String (cadeia de caracteres em C# e F#) | ||||||
Edm.Boolean | System.Nullable<System.Boolean> (bool? em C#, bool> anulável<em F#) | ||||||
Edm.Double | System.Nullable<System.Double> (double? in C#, Float anulável>< em F#) | ||||||
Edm.Int32 | System.Nullable<System.Int32> (int? int? in C#, Nullable<int int> in F#) | ||||||
Edm.Int64 | System.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:
| ||||||
Edm.GeographyPoint | Microsoft.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
Azure SDK for .NET