Freigeben über


SearchClient Klasse

Ein Client für die Interaktion mit einem vorhandenen Azure-Suchindex.

Vererbung
azure.search.documents._headers_mixin.HeadersMixin
SearchClient

Konstruktor

SearchClient(endpoint: str, index_name: str, credential: AzureKeyCredential | TokenCredential, **kwargs: Any)

Parameter

endpoint
str
Erforderlich

Der URL-Endpunkt eines Azure-Suchdiensts

index_name
str
Erforderlich

Der Name des Indexes, mit dem eine Verbindung hergestellt werden soll

credential
AzureKeyCredential oder TokenCredential
Erforderlich

Anmeldeinformationen zum Autorisieren von Suchclientanforderungen

api_version
str

Die Such-API-Version, die für Anforderungen verwendet werden soll.

audience
str

legt die Zielgruppe fest, die für die Authentifizierung mit Azure Active Directory (AAD) verwendet werden soll. Die Zielgruppe wird bei verwendung eines freigegebenen Schlüssels nicht berücksichtigt. Wenn keine Zielgruppe bereitgestellt wird, wird die Öffentliche Cloud-Zielgruppe angenommen.

Beispiele

Erstellen des SearchClient mit einem API-Schlüssel.


   from azure.core.credentials import AzureKeyCredential
   from azure.search.documents import SearchClient

   service_endpoint = os.environ["AZURE_SEARCH_SERVICE_ENDPOINT"]
   index_name = os.environ["AZURE_SEARCH_INDEX_NAME"]
   key = os.environ["AZURE_SEARCH_API_KEY"]

   search_client = SearchClient(service_endpoint, index_name, AzureKeyCredential(key))

Methoden

autocomplete

Abrufen der Ergebnisse der automatischen Vervollständigung der Suche aus dem Azure-Suchindex.

Sammlung, die Teil der Indexdefinition ist. :Schlüsselwort (keyword)-Modus: Gibt den Modus für die automatische Vervollständigung an. Der Standardwert ist "oneTerm". Zweck

"twoTerms" zum Abrufen von Shingles und "oneTermWithContext", um den aktuellen Kontext zu verwenden, während automatisch abgeschlossene Begriffe erstellt werden. Mögliche Werte sind "oneTerm", "twoTerms", "oneTermWithContext".

close

Schließen Sie die SearchClient Sitzung.

delete_documents

Löschen von Dokumenten aus dem Azure-Suchindex

Löschen entfernt das angegebene Dokument aus dem Index. Alle Felder, die Sie in einem Löschvorgang angeben, mit Ausnahme des Schlüsselfelds, werden ignoriert. Wenn Sie ein einzelnes Feld aus einem Dokument entfernen möchten, verwenden Sie stattdessen merge_documents , und legen Sie das Feld explizit auf Keine fest.

Löschvorgänge sind idempotent. Also auch wenn ein Dokumentschlüssel im Index nicht vorhanden ist, führt der Versuch, einen Löschvorgang mit diesem Schlüssel auszuführen, zum Statuscode „200“.

get_document

Rufen Sie ein Dokument aus dem Azure-Suchindex anhand des Schlüssels ab.

get_document_count

Gibt die Anzahl der Dokumente im Azure-Suchindex zurück.

index_documents

Geben Sie einen Dokumentvorgang an, der als Batch ausgeführt werden soll.

:Löst RequestEntityTooLargeError

merge_documents

Führen Sie Dokumente in vorhandene Dokumente im Azure-Suchindex zusammen.

„Merge“ aktualisiert ein bestehendes Dokument mit den angegebenen Feldern. Wenn das Dokument nicht vorhanden ist, schlägt die Zusammenführung fehl. Jedes Feld, das Sie in einer Zusammenführung angeben, ersetzt das vorhandene Feld im Dokument. Dies gilt auch für Sammlungen von primitiven und komplexen Typen.

merge_or_upload_documents

Führen Sie Dokumente in vorhandene Dokumente im Azure-Suchindex zusammen, oder laden Sie sie hoch, wenn sie noch nicht vorhanden sind.

Diese Aktion verhält sich wie merge_documents , wenn ein Dokument mit dem angegebenen Schlüssel bereits im Index vorhanden ist. Wenn das Dokument nicht vorhanden ist, verhält es sich wie upload_documents mit einem neuen Dokument.

search

Durchsuchen Sie den Azure Search-Index nach Dokumenten.

suggest

Abrufen von Suchergebnissen aus dem Azure-Suchindex.

Zeichen und nicht mehr als 100 Zeichen. :p aram str suggester_name: Erforderlich. Der Name des Vorschlags, wie er in der Suggesters-Auflistung angegeben ist, die Teil der Indexdefinition ist. :Schlüsselwort (keyword) str filter: Ein OData-Ausdruck, der die Dokumente filtert, die für Vorschläge berücksichtigt werden. :Schlüsselwort (keyword) bool use_fuzzy_matching: Ein Wert, der angibt, ob Fuzzy Matching für die Vorschläge verwendet werden soll

zu erstellen. Der Standardwert ist "false". Wenn sie auf true festgelegt ist, findet die Abfrage Begriffe, auch wenn im Suchtext ein ersetztes oder fehlendes Zeichen vorhanden ist. Dies bietet zwar in einigen Szenarien eine bessere Benutzeroberfläche, aber dies ist mit Leistungskosten verbunden, da Fuzzy-Vorschlagsabfragen langsamer sind und mehr Ressourcen verbrauchen.

upload_documents

Laden Sie Dokumente in den Azure-Suchindex hoch.

Eine Uploadaktion ähnelt einem "Upsert", bei dem das Dokument eingefügt wird, wenn es neu ist und aktualisiert/ersetzt wird, falls es vorhanden ist. Alle Felder werden im Updatefall ersetzt.

autocomplete

Abrufen der Ergebnisse der automatischen Vervollständigung der Suche aus dem Azure-Suchindex.

Sammlung, die Teil der Indexdefinition ist. :Schlüsselwort (keyword)-Modus: Gibt den Modus für die automatische Vervollständigung an. Der Standardwert ist "oneTerm". Zweck

"twoTerms" zum Abrufen von Shingles und "oneTermWithContext", um den aktuellen Kontext zu verwenden, während automatisch abgeschlossene Begriffe erstellt werden. Mögliche Werte sind "oneTerm", "twoTerms", "oneTermWithContext".

autocomplete(search_text: str, suggester_name: str, *, mode: str | AutocompleteMode | None = None, use_fuzzy_matching: bool | None = None, highlight_post_tag: str | None = None, highlight_pre_tag: str | None = None, minimum_coverage: float | None = None, search_fields: List[str] | None = None, top: int | None = None, **kwargs) -> List[Dict]

Parameter

filter
str

Ein OData-Ausdruck, der die Dokumente filtert, die verwendet werden, um abgeschlossene Begriffe für das AutoVervollständigen-Ergebnis zu erzeugen.

use_fuzzy_matching
bool

Ein Wert, der angibt, ob fuzzy matching für die AutoVervollständigen-Abfrage verwendet werden soll. Der Standardwert ist "false". Wenn sie auf true festgelegt ist, findet die Abfrage Begriffe, auch wenn im Suchtext ein ersetztes oder fehlendes Zeichen vorhanden ist. Dies bietet zwar in einigen Szenarien eine bessere Benutzeroberfläche, hat jedoch Leistungskosten, da Fuzzy-Autovervollständigenabfragen langsamer sind und mehr Ressourcen verbrauchen.

highlight_post_tag
str

Ein Zeichenfolgentag, das an Hervorhebungen angefügt wird. Muss mit highlightPreTag festgelegt werden. Wenn sie nicht angegeben wird, ist die Treffermarkierung deaktiviert.

highlight_pre_tag
str

Ein Zeichenfolgentag, dem das Erreichen von Hervorhebungen vorangestellt ist. Muss mit highlightPostTag festgelegt werden. Wenn sie nicht angegeben wird, ist die Treffermarkierung deaktiviert.

minimum_coverage
float

Eine Zahl zwischen 0 und 100, die den Prozentsatz des Indexes angibt, der durch eine Autovervollständigen-Abfrage abgedeckt werden muss, damit die Abfrage erfolgreich gemeldet wird. Dieser Parameter kann nützlich sein, um die Suchverfügbarkeit auch für Dienste mit nur einem Replikat sicherzustellen. Der Standardwert beträgt 80.

search_fields
list[str]

Die Liste der Feldnamen, die beim Abfragen nach automatisch abgeschlossenen Begriffen berücksichtigt werden sollen. Zielfelder müssen im angegebenen Vorschlag enthalten sein.

top
int

Die Anzahl der automatisch abgeschlossenen Begriffe, die abgerufen werden sollen. Dies muss ein Wert zwischen 1 und 100 sein. Der Standardwert ist 5.

Rückgabetyp

Beispiele

Rufen Sie eine automatische Vervollständigung ab.


   from azure.core.credentials import AzureKeyCredential
   from azure.search.documents import SearchClient

   search_client = SearchClient(service_endpoint, index_name, AzureKeyCredential(key))

   results = search_client.autocomplete(search_text="bo", suggester_name="sg")

   print("Autocomplete suggestions for 'bo'")
   for result in results:
       print("    Completion: {}".format(result["text"]))

close

Schließen Sie die SearchClient Sitzung.

close() -> None

delete_documents

Löschen von Dokumenten aus dem Azure-Suchindex

Löschen entfernt das angegebene Dokument aus dem Index. Alle Felder, die Sie in einem Löschvorgang angeben, mit Ausnahme des Schlüsselfelds, werden ignoriert. Wenn Sie ein einzelnes Feld aus einem Dokument entfernen möchten, verwenden Sie stattdessen merge_documents , und legen Sie das Feld explizit auf Keine fest.

Löschvorgänge sind idempotent. Also auch wenn ein Dokumentschlüssel im Index nicht vorhanden ist, führt der Versuch, einen Löschvorgang mit diesem Schlüssel auszuführen, zum Statuscode „200“.

delete_documents(documents: List[Dict], **kwargs: Any) -> List[IndexingResult]

Parameter

documents
list[dict]
Erforderlich

Eine Liste der zu löschenden Dokumente.

Gibt zurück

Liste von IndexingResult

Rückgabetyp

Beispiele

Löschen vorhandener Dokumente in einem Index


   result = search_client.delete_documents(documents=[{"hotelId": "1000"}])

   print("Delete new document succeeded: {}".format(result[0].succeeded))

get_document

Rufen Sie ein Dokument aus dem Azure-Suchindex anhand des Schlüssels ab.

get_document(key: str, selected_fields: List[str] | None = None, **kwargs: Any) -> Dict

Parameter

key
str
Erforderlich

Der Primärschlüsselwert für das abzurufende Dokument

selected_fields
list[str]
Erforderlich

eine Liste der Zulässigkeitsfelder, die in die Ergebnisse aufgenommen werden sollen

Gibt zurück

Das Im Azure-Suchindex gespeicherte Dokument

Rückgabetyp

Beispiele

Rufen Sie ein bestimmtes Dokument aus dem Suchindex ab.


   from azure.core.credentials import AzureKeyCredential
   from azure.search.documents import SearchClient

   search_client = SearchClient(service_endpoint, index_name, AzureKeyCredential(key))

   result = search_client.get_document(key="23")

   print("Details for hotel '23' are:")
   print("        Name: {}".format(result["hotelName"]))
   print("      Rating: {}".format(result["rating"]))
   print("    Category: {}".format(result["category"]))

get_document_count

Gibt die Anzahl der Dokumente im Azure-Suchindex zurück.

get_document_count(**kwargs: Any) -> int

Gibt zurück

Die Anzahl der Dokumente im Index

Rückgabetyp

int

index_documents

Geben Sie einen Dokumentvorgang an, der als Batch ausgeführt werden soll.

:Löst RequestEntityTooLargeError

index_documents(batch: IndexDocumentsBatch, **kwargs: Any) -> List[IndexingResult]

Parameter

batch
IndexDocumentsBatch
Erforderlich

Ein Batch mit auszuführenden Dokumentvorgängen.

Gibt zurück

Liste von IndexingResult

Rückgabetyp

merge_documents

Führen Sie Dokumente in vorhandene Dokumente im Azure-Suchindex zusammen.

„Merge“ aktualisiert ein bestehendes Dokument mit den angegebenen Feldern. Wenn das Dokument nicht vorhanden ist, schlägt die Zusammenführung fehl. Jedes Feld, das Sie in einer Zusammenführung angeben, ersetzt das vorhandene Feld im Dokument. Dies gilt auch für Sammlungen von primitiven und komplexen Typen.

merge_documents(documents: List[Dict], **kwargs: Any) -> List[IndexingResult]

Parameter

documents
list[dict]
Erforderlich

Eine Liste der dokumente, die zusammengeführt werden sollen.

Gibt zurück

Liste von IndexingResult

Rückgabetyp

Beispiele

Zusammenführen von Feldern in vorhandene Dokumente in einen Index


   result = search_client.merge_documents(documents=[{"hotelId": "1000", "rating": 4.5}])

   print("Merge into new document succeeded: {}".format(result[0].succeeded))

merge_or_upload_documents

Führen Sie Dokumente in vorhandene Dokumente im Azure-Suchindex zusammen, oder laden Sie sie hoch, wenn sie noch nicht vorhanden sind.

Diese Aktion verhält sich wie merge_documents , wenn ein Dokument mit dem angegebenen Schlüssel bereits im Index vorhanden ist. Wenn das Dokument nicht vorhanden ist, verhält es sich wie upload_documents mit einem neuen Dokument.

merge_or_upload_documents(documents: List[Dict], **kwargs: Any) -> List[IndexingResult]

Parameter

documents
list[dict]
Erforderlich

Eine Liste der Dokumente, die zusammengeführt oder hochgeladen werden sollen.

Gibt zurück

Liste von IndexingResult

Rückgabetyp

Durchsuchen Sie den Azure Search-Index nach Dokumenten.

search(search_text: str | None = None, *, include_total_count: bool | None = None, facets: List[str] | None = None, filter: str | None = None, highlight_fields: str | None = None, highlight_post_tag: str | None = None, highlight_pre_tag: str | None = None, minimum_coverage: float | None = None, order_by: List[str] | None = None, query_type: str | QueryType | None = None, scoring_parameters: List[str] | None = None, scoring_profile: str | None = None, search_fields: List[str] | None = None, search_mode: str | SearchMode | None = None, query_answer: str | QueryAnswerType | None = None, query_answer_count: int | None = None, query_answer_threshold: float | None = None, query_caption: str | QueryCaptionType | None = None, query_caption_highlight_enabled: bool | None = None, semantic_configuration_name: str | None = None, select: List[str] | None = None, skip: int | None = None, top: int | None = None, scoring_statistics: str | ScoringStatistics | None = None, session_id: str | None = None, vector_queries: List[VectorQuery] | None = None, vector_filter_mode: str | VectorFilterMode | None = None, semantic_error_mode: str | SemanticErrorMode | None = None, semantic_max_wait_in_milliseconds: int | None = None, **kwargs: Any) -> SearchItemPaged[Dict]

Parameter

search_text
str
Erforderlich

Ein Volltextsuchabfrageausdruck; Verwenden Sie "*", oder lassen Sie diesen Parameter aus, um allen Dokumenten zu entsprechen.

include_total_count
bool

Ein Wert, der angibt, ob die Gesamtanzahl der Ergebnisse abgerufen werden soll. Der Standardwert ist "false". Das Festlegen dieses Werts auf true kann sich auf die Leistung auswirken. Beachten Sie, dass die zurückgegebene Anzahl ein Näherungswert ist.

facets
list[str]

Die Liste der Facetausdrücke, die auf die Suchabfrage angewendet werden sollen. Jeder Facetausdruck enthält einen Feldnamen, optional gefolgt von einer durch Trennzeichen getrennten Liste von Name:Wert-Paaren.

filter
str

Der OData-$filter Ausdruck, der auf die Suchabfrage angewendet werden soll.

highlight_fields
str

Die durch Trennzeichen getrennte Liste der Feldnamen, die für Trefferhighlights verwendet werden sollen. Nur durchsuchbare Felder können zur Treffermarkierung verwendet werden.

highlight_post_tag
str

Ein Zeichenfolgentag, das an Hervorhebungen angefügt wird. Muss mit highlightPreTag festgelegt werden. Der Standardwert ist .

highlight_pre_tag
str

Ein Zeichenfolgentag, dem das Erreichen von Hervorhebungen vorangestellt ist. Muss mit highlightPostTag festgelegt werden. Der Standardwert ist .

minimum_coverage
float

Eine Zahl zwischen 0 und 100, die den Prozentsatz des Indexes angibt, der von einer Suchabfrage abgedeckt werden muss, damit die Abfrage erfolgreich gemeldet wird. Dieser Parameter kann nützlich sein, um die Suchverfügbarkeit auch für Dienste mit nur einem Replikat sicherzustellen. Der Standard ist 100.

order_by
list[str]

Die Liste der OData-$orderby Ausdrücke, nach denen die Ergebnisse sortiert werden sollen. Jeder Ausdruck kann entweder ein Feldname oder ein Aufruf der Funktionen geo.distance() oder search.score() sein. Jedem Ausdruck kann asc folgen, um aufsteigend anzugeben, und desc, um absteigend anzugeben. Standardmäßig wird in aufsteigender Reihenfolge sortiert. Verknüpfungen werden durch die Ergebnisstände von Dokumenten getrennt. Wenn kein OrderBy angegeben ist, wird die Standardsortierreihenfolge nach dokumentgleicher Bewertung absteigend. Es können maximal 32 $orderby-Klauseln vorhanden sein.

query_type
str oder QueryType

Ein Wert, der die Syntax der Suchabfrage angibt. Der Standardwert ist "einfach". Verwenden Sie "full", wenn Ihre Abfrage die Lucene-Abfragesyntax verwendet. Mögliche Werte sind "einfach", "vollständig", "semantisch".

scoring_parameters
list[str]

Die Liste der Parameterwerte, die in Bewertungsfunktionen (z. B. referencePointParameter) unter Verwendung des Formats name-values verwendet werden sollen. Wenn das Bewertungsprofil beispielsweise eine Funktion mit einem Parameter namens "mylocation" definiert, lautet die Parameterzeichenfolge "mylocation–122.2,44.8" (ohne die Anführungszeichen).

scoring_profile
str

Der Name eines Bewertungsprofils zum Auswerten von Übereinstimmungsbewertungen für den Vergleich von Dokumenten, um die Ergebnisse zu sortieren.

search_fields
list[str]

Die Liste der Feldnamen, auf die die Volltextsuche ausgerichtet werden soll. Wenn Sie die Feldsuche (fieldName:searchExpression) in einer vollständigen Lucene-Abfrage verwenden, haben die Feldnamen jedes feldierten Suchausdrucks Vorrang vor allen in diesem Parameter aufgeführten Feldnamen.

search_mode
str oder SearchMode

Ein Wert, der angibt, ob ein oder alle Suchbegriffe übereinstimmen müssen, um das Dokument als Übereinstimmung zu zählen. Mögliche Werte sind : "any", "all".

query_answer
str oder QueryAnswerType

Dieser Parameter ist nur gültig, wenn der Abfragetyp "semantisch" ist. Wenn festgelegt, gibt die Abfrage Antworten zurück, die aus Schlüsselpassagen in den dokumenten mit der höchsten Rangfolge extrahiert wurden. Mögliche Werte sind: "none", "extractive".

query_answer_count
int

Dieser Parameter ist nur gültig, wenn der Abfragetyp "semantisch" und die Abfrageantwort "extrahierend" ist. Konfiguriert die Anzahl der zurückgegebenen Antworten. Die Standardanzahl ist 1.

query_answer_threshold
float

Dieser Parameter ist nur gültig, wenn der Abfragetyp "semantisch" und die Abfrageantwort "extrahierend" ist. Konfiguriert die Anzahl der Konfidenzschwellenwerte. Die Standardanzahl ist 0,7.

query_caption
str oder QueryCaptionType

Dieser Parameter ist nur gültig, wenn der Abfragetyp "semantisch" ist. Wenn festgelegt, gibt die Abfrage Beschriftungen zurück, die aus Schlüsselpassagen in den dokumenten mit der höchsten Rangfolge extrahiert wurden. Standardmäßig wird "Keine" festgelegt. Mögliche Werte sind: "none", "extractive".

query_caption_highlight_enabled
bool

Dieser Parameter ist nur gültig, wenn der Abfragetyp "semantisch" ist, wenn abfrage Untertitel auf "extractive" festgelegt ist. Bestimmt, ob die Hervorhebung aktiviert ist. Standardmäßig wird "true" festgelegt.

semantic_configuration_name
str

Der Name der semantischen Konfiguration, die beim Verarbeiten von Dokumenten für Abfragen vom Typ Semantik verwendet wird.

select
list[str]

Die Liste der abzurufenden Felder. Wenn nicht anders angegeben, werden alle im Schema als abrufbar gekennzeichnete Felder einbezogen.

skip
int

Die Anzahl der zu überspringenden Suchergebnisse. Dieser Wert darf nicht größer als 100.000 sein. Wenn Sie Dokumente nacheinander scannen müssen, aber aufgrund dieser Einschränkung $skip nicht verwenden können, sollten Sie $orderby für einen vollständig sortierten Schlüssel verwenden und stattdessen mit einer Bereichsabfrage $filter.

top
int

Die Anzahl der abzurufenden Suchergebnisse. Dies kann in Verbindung mit $skip verwendet werden, um das clientseitige Paging von Suchergebnissen zu implementieren. Wenn ergebnisse aufgrund von serverseitigem Paging abgeschnitten werden, enthält die Antwort ein Fortsetzungstoken, das verwendet werden kann, um eine weitere Suchanforderung für die nächste Ergebnisseite auszustellen.

scoring_statistics
str oder ScoringStatistics

Ein Wert, der angibt, ob Bewertungsstatistiken (z. B. Dokumenthäufigkeit) global für eine konsistentere Bewertung oder lokal für eine geringere Latenz berechnet werden sollen. Der Standardwert ist "local". Verwenden Sie "global", um Bewertungsstatistiken global vor der Bewertung zu aggregieren. Die Verwendung globaler Bewertungsstatistiken kann die Latenz von Suchabfragen erhöhen. Mögliche Werte sind: "local", "global".

session_id
str

Ein Wert, der zum Erstellen einer klebrigen Sitzung verwendet werden soll, mit dem konsistentere Ergebnisse erzielt werden können. Solange dieselbe sessionId verwendet wird, wird ein Best-Effort-Versuch unternommen, um denselben Replikatsatz als Ziel festzulegen. Seien Sie vorsichtig, dass die wiederholte Wiederverwendung der gleichen sessionID-Werte den Lastenausgleich der Anforderungen über Replikate hinweg beeinträchtigen und die Leistung des Suchdiensts beeinträchtigen kann. Der als „sessionId“ verwendete Wert darf nicht mit dem Zeichen „_“ beginnen.

semantic_error_mode
str oder SemanticErrorMode

Ermöglicht dem Benutzer die Auswahl, ob bei einem semantischen Aufruf ein vollständiger Fehler auftreten soll (Standardverhalten/aktuelles Verhalten), oder ob partielle Ergebnisse zurückgegeben werden sollen. Bekannte Werte sind: "partielle" und "fail".

semantic_max_wait_in_milliseconds
int

Ermöglicht es dem Benutzer, eine Obergrenze für die Zeit festzulegen, die bis zur semantischen Anreicherung benötigt wird, bis die Verarbeitung abgeschlossen ist, bevor die Anforderung fehlschlägt.

vector_queries
list[VectorQuery]

Die Abfrageparameter für Vektor- und Hybridsuchabfragen.

vector_filter_mode
str oder VectorFilterMode

Bestimmt, ob Filter vor oder nach der Vektorsuche angewendet werden. Der Standardwert ist "preFilter". Bekannte Werte sind "postFilter" und "preFilter".

Rückgabetyp

Beispiele

Abrufen von Suchergebnisfaceten.


   from azure.core.credentials import AzureKeyCredential
   from azure.search.documents import SearchClient

   search_client = SearchClient(service_endpoint, index_name, AzureKeyCredential(key))

   results = search_client.search(search_text="WiFi", facets=["category,count:3", "parkingIncluded"])

   facets: Dict[str, List[str]] = cast(Dict[str, List[str]], results.get_facets())

   print("Catgory facet counts for hotels:")
   for facet in facets["category"]:
       print("    {}".format(facet))

suggest

Abrufen von Suchergebnissen aus dem Azure-Suchindex.

Zeichen und nicht mehr als 100 Zeichen. :p aram str suggester_name: Erforderlich. Der Name des Vorschlags, wie er in der Suggesters-Auflistung angegeben ist, die Teil der Indexdefinition ist. :Schlüsselwort (keyword) str filter: Ein OData-Ausdruck, der die Dokumente filtert, die für Vorschläge berücksichtigt werden. :Schlüsselwort (keyword) bool use_fuzzy_matching: Ein Wert, der angibt, ob Fuzzy Matching für die Vorschläge verwendet werden soll

zu erstellen. Der Standardwert ist "false". Wenn sie auf true festgelegt ist, findet die Abfrage Begriffe, auch wenn im Suchtext ein ersetztes oder fehlendes Zeichen vorhanden ist. Dies bietet zwar in einigen Szenarien eine bessere Benutzeroberfläche, aber dies ist mit Leistungskosten verbunden, da Fuzzy-Vorschlagsabfragen langsamer sind und mehr Ressourcen verbrauchen.

suggest(search_text: str, suggester_name: str, *, use_fuzzy_matching: bool | None = None, highlight_post_tag: str | None = None, highlight_pre_tag: str | None = None, minimum_coverage: float | None = None, order_by: List[str] | None = None, search_fields: List[str] | None = None, select: List[str] | None = None, top: int | None = None, **kwargs) -> List[Dict]

Parameter

highlight_post_tag
str

Ein Zeichenfolgentag, das an Hervorhebungen angefügt wird. Muss mit highlightPreTag festgelegt werden. Wenn sie nicht angegeben wird, ist die Treffermarkierung von Vorschlägen deaktiviert.

highlight_pre_tag
str

Ein Zeichenfolgentag, dem das Erreichen von Hervorhebungen vorangestellt ist. Muss mit highlightPostTag festgelegt werden. Wenn sie nicht angegeben wird, ist die Treffermarkierung von Vorschlägen deaktiviert.

minimum_coverage
float

Eine Zahl zwischen 0 und 100, die den Prozentsatz des Indexes angibt, der von einer Vorschlagsabfrage abgedeckt werden muss, damit die Abfrage erfolgreich gemeldet wird. Dieser Parameter kann nützlich sein, um die Suchverfügbarkeit auch für Dienste mit nur einem Replikat sicherzustellen. Der Standardwert beträgt 80.

order_by
list[str]

Die Liste der OData-$orderby Ausdrücke, nach denen die Ergebnisse sortiert werden sollen. Jeder Ausdruck kann entweder ein Feldname oder ein Aufruf der Funktionen geo.distance() oder search.score() sein. Jedem Ausdruck kann asc folgen, um aufsteigend anzugeben, oder desc, um absteigend anzugeben. Standardmäßig wird in aufsteigender Reihenfolge sortiert. Verknüpfungen werden durch die Ergebnisstände von Dokumenten getrennt. Wenn kein $orderby angegeben ist, wird die Standardsortierreihenfolge nach dokumentgleicher Bewertung absteigend. Es können maximal 32 $orderby-Klauseln vorhanden sein.

search_fields
list[str]

Die Liste der Feldnamen, die nach dem angegebenen Suchtext gesucht werden sollen. Zielfelder müssen im angegebenen Vorschlag enthalten sein.

select
list[str]

Die Liste der abzurufenden Felder. Wenn nicht angegeben, wird nur das Schlüsselfeld in die Ergebnisse einbezogen.

top
int

Die Anzahl der abzurufenden Vorschläge. Der Wert muss eine Zahl zwischen 1 und 100 sein. Der Standardwert ist 5.

Gibt zurück

Liste der Dokumente.

Rückgabetyp

Beispiele

Abrufen von Suchvorschlägen.


   from azure.core.credentials import AzureKeyCredential
   from azure.search.documents import SearchClient

   search_client = SearchClient(service_endpoint, index_name, AzureKeyCredential(key))

   results = search_client.suggest(search_text="coffee", suggester_name="sg")

   print("Search suggestions for 'coffee'")
   for result in results:
       hotel = search_client.get_document(key=result["hotelId"])
       print("    Text: {} for Hotel: {}".format(repr(result["text"]), hotel["hotelName"]))

upload_documents

Laden Sie Dokumente in den Azure-Suchindex hoch.

Eine Uploadaktion ähnelt einem "Upsert", bei dem das Dokument eingefügt wird, wenn es neu ist und aktualisiert/ersetzt wird, falls es vorhanden ist. Alle Felder werden im Updatefall ersetzt.

upload_documents(documents: List[Dict], **kwargs: Any) -> List[IndexingResult]

Parameter

documents
list[dict]
Erforderlich

Eine Liste der hochzuladenden Dokumente.

Gibt zurück

Liste von IndexingResult

Rückgabetyp

Beispiele

Hochladen neuer Dokumente in einen Index


   DOCUMENT = {
       "category": "Hotel",
       "hotelId": "1000",
       "rating": 4.0,
       "rooms": [],
       "hotelName": "Azure Inn",
   }

   result = search_client.upload_documents(documents=[DOCUMENT])

   print("Upload of new document succeeded: {}".format(result[0].succeeded))