SearchClient Klasse
Ein Client für die Interaktion mit einem vorhandenen Azure-Suchindex.
- Vererbung
-
azure.search.documents._headers_mixin.HeadersMixinSearchClient
Konstruktor
SearchClient(endpoint: str, index_name: str, credential: AzureKeyCredential | TokenCredential, **kwargs: Any)
Parameter
- credential
- AzureKeyCredential oder TokenCredential
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. |
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.
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
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
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
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
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
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
Eine Liste der Dokumente, die zusammengeführt oder hochgeladen werden sollen.
Gibt zurück
Liste von IndexingResult
Rückgabetyp
search
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
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.
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.
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.
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".
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.
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.
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.
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.
Die Liste der Feldnamen, die nach dem angegebenen Suchtext gesucht werden sollen. Zielfelder müssen im angegebenen Vorschlag enthalten sein.
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
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))
Azure SDK for Python