Freigeben über


IDocumentsOperations.GetWithHttpMessagesAsync Methode

Definition

Überlädt

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

Ruft ein Dokument aus dem Suchindex ab. https://docs.microsoft.com/rest/api/searchservice/Lookup-Document

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

Ruft ein Dokument aus dem Suchindex ab. https://docs.microsoft.com/rest/api/searchservice/Lookup-Document

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

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))

Parameter

key
String

Der Schlüssel des abzurufenden Dokuments; Weitere Informationen finden Sie https://docs.microsoft.com/rest/api/searchservice/Naming-rules unter Regeln zum Erstellen gültiger Dokumentschlüssel.

selectedFields
IEnumerable<String>

Liste der Feldnamen, die für das Dokument abgerufen werden sollen; Alle nicht abgerufenen Felder fehlen im zurückgegebenen Dokument.

searchRequestOptions
SearchRequestOptions

Zusätzliche Parameter für den Vorgang

customHeaders
Dictionary<String,List<String>>

Die Header, die der Anforderung hinzugefügt werden.

cancellationToken
CancellationToken

Das Abbruchtoken.

Gibt zurück

Antwort, die das Dokument enthält.

Hinweise

Die nicht generischen Überladungen der Methoden Get, GetAsync und GetWithHttpMessagesAsync versuchen, JSON-Typen in der Antwortnutzlast .NET-Typen zuzuordnen. Diese Zuordnung hat nicht den Vorteil präziser Typinformationen aus dem Index, sodass die Zuordnung nicht immer korrekt ist. Beachten Sie insbesondere die folgenden Fälle:

  • Jeder numerische Wert ohne Dezimaltrennzeichen wird in System.Int64 deserialisiert (long in C#, int64 in F#).
  • Spezielle Gleitkommawerte mit doppelter Genauigkeit wie NaN und Infinity werden als Typ System.String anstelle von System.Double deserialisiert, auch wenn sie sich in Arrays mit regulären Gleitkommawerten befinden.
  • Jedes Zeichenfolgenfeld mit einem Wert, der wie ein DateTimeOffset formatiert ist, wird falsch deserialisiert. Dies gilt auch für solche Werte in Arrays von Zeichenfolgen. Es wird empfohlen, solche Werte in Edm.DateTimeOffset-Feldern anstelle von Edm.String-Feldern zu speichern.
  • Jedes Edm.DateTimeOffset-Feld wird als System.DateTimeOffset und nicht als System.DateTimeOffset deserialisiert.
  • Jedes leere JSON-Array wird als Array von System.Object (object[] in C#, obj[] in F#) deserialisiert.
  • Jedes Array eines primitiven Typs wird als Array des entsprechenden .NET-Typs und nicht als Array von System.Object deserialisiert, es sei denn, die Werte können nicht alle auf denselben Typ deserialisiert werden. Beispielsweise werden die Arrays [3.14, "NaN"] und ["hello", "2016-10-10T17:41:05.123-07:00"] beide als Arrays von System.Object (object[] in C#, obj[] in F#) deserialisiert. Dies liegt daran, dass spezielle double-Werte immer als Zeichenfolgen deserialisieren, während Zeichenfolgen, die wie DateTimeOffset aussehen, immer als DateTimeOffset deserialisieren.
  • Komplexe Felder werden rekursiv in Instanzen des Typs des Typs Documentdes typs deserialisiert. Ebenso werden komplexe Sammlungsfelder in Arrays solcher Instanzen deserialisiert.

Gilt für:

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

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))

Typparameter

T

Der CLR-Typ, der dem Indexschema zugeordnet wird. Instanzen dieses Typs können als Dokumente aus dem Index abgerufen werden.

Parameter

key
String

Der Schlüssel des abzurufenden Dokuments; Weitere Informationen finden Sie https://docs.microsoft.com/rest/api/searchservice/Naming-rules unter Regeln zum Erstellen gültiger Dokumentschlüssel.

selectedFields
IEnumerable<String>

Liste der Feldnamen, die für das Dokument abgerufen werden sollen; Jedes feld, das nicht abgerufen wird, weist null oder default als entsprechenden Eigenschaftswert im zurückgegebenen Objekt auf.

searchRequestOptions
SearchRequestOptions

Zusätzliche Parameter für den Vorgang

customHeaders
Dictionary<String,List<String>>

Die Header, die der Anforderung hinzugefügt werden.

cancellationToken
CancellationToken

Das Abbruchtoken.

Gibt zurück

Antwort, die das Dokument enthält.

Hinweise

Die generischen Überladungen der Get-, GetAsync- und GetWithHttpMessagesAsync-Methoden unterstützen die Zuordnung von Azure Search-Feldtypen zu .NET-Typen über den Typparameter T. Beachten Sie, dass alle Suchfeldtypen außer Auflistungen NULL-Werte zulassen. Daher wird empfohlen, nullable-Typen für die Eigenschaften von T zu verwenden. Die Typzuordnung sieht wie folgt aus:

Suchfeldtyp.NET-Typ
Edm.StringSystem.String (Zeichenfolge in C# und F#)
Edm.BooleanSystem.Nullable<System.Boolean> (bool? in C#, Nullable<bool> in F#)
Edm.DoubleSystem.Nullable<System.Double> (double? in C#, Nullable<float> in F#)
Edm.Int32System.Nullable<System.Int32> (int? in C#, Nullable<int> in F#)
Edm.Int64System.Nullable<System.Int64> (long? in C#, Nullable<int64> in F#)
Edm.DateTimeOffset System.Nullable<System.DateTimeOffset> (DateTimeOffset? in C#, Nullable<DateTimeOffset> in F#) oder System.Nullable<System.DateTime> (DateTime? in C#, Nullable<DateTime> in F#). Beide Typen funktionieren, obwohl die Verwendung von DateTimeOffset empfohlen wird. Beim Abrufen von Dokumenten werden DateTime-Werte immer in UTC angegeben. Beim Indizieren von Dokumenten werden DateTime-Werte wie folgt interpretiert:
Die DateTime-Angabe (UTC).Wird unverändert an den Index gesendet.
Lokale DateTimeWird in UTC konvertiert, bevor an den Index gesendet wird.
DateTime mit nicht angegebener ZeitzoneAngenommen, dass UTC ist und unverändert an den Index gesendet wird.
Edm.GeographyPointMicrosoft.Spatial.GeographyPoint
Edm.ComplexType Jeder Typ, der aus den JSON-Objekten im komplexen Feld deserialisiert werden kann. Dies kann ein Werttyp oder ein Verweistyp sein. Es wird jedoch empfohlen, einen Verweistyp zu verwenden, da komplexe Felder in Azure Cognitive Search NULL-Werte zulassen können.
Collection(Edm.String)IEnumerable<System.String> (seq<string> in 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> oder IEnumerable<System.DateTime> (seq<DateTimeOffset> oder seq<DateTime> in F#). Beide Typen funktionieren, obwohl die Verwendung von IEnumerable<System.DateTimeOffset empfohlen wird>. Weitere Informationen finden Sie in den obigen Hinweisen auf Edm.DateTimeOffset.
Collection(Edm.GeographyPoint)IEnumerable<Microsoft.Spatial.GeographyPoint> (seq<GeographyPoint> in F#)
Collection(Edm.ComplexType) IEnumerable<U> (seq<U> in F#), wobei U ein beliebiger Typ ist, der aus den JSON-Objekten im komplexen Sammlungsfeld deserialisiert werden kann. Dies kann ein Werttyp oder ein Verweistyp sein.

Gilt für: