Udostępnij za pośrednictwem


SearchClient Klasa

Klient do interakcji z istniejącym indeksem usługi Azure Search.

Dziedziczenie
azure.search.documents._headers_mixin.HeadersMixin
SearchClient

Konstruktor

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

Parametry

endpoint
str
Wymagane

Punkt końcowy adresu URL usługi Azure Search

index_name
str
Wymagane

Nazwa indeksu do nawiązania połączenia z

credential
AzureKeyCredential lub TokenCredential
Wymagane

Poświadczenie autoryzacji żądań klientów wyszukiwania

api_version
str

Wersja interfejsu API wyszukiwania do użycia dla żądań.

audience
str

ustawia odbiorców do użycia do uwierzytelniania w usłudze Azure Active Directory (AAD). Odbiorcy nie są brani pod uwagę podczas korzystania z klucza współużytkowanego. Jeśli odbiorcy nie zostaną podani, zakłada się, że odbiorcy chmury publicznej.

Przykłady

Tworzenie elementu SearchClient przy użyciu klucza interfejsu API.


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

Metody

autocomplete

Pobierz wyniki automatycznego uzupełniania wyszukiwania z indeksu usługi Azure Search.

kolekcja, która jest częścią definicji indeksu. :tryb słowa kluczowego: określa tryb autouzupełniania. Wartość domyślna to "oneTerm". Zastosowanie

"twoTerms", aby uzyskać shingles i "oneTermWithContext" do używania bieżącego kontekstu podczas tworzenia terminów autouzukończonych. Możliwe wartości to: "oneTerm", "twoTerms", "oneTermWithContext".

close

Zamknij sesję SearchClient .

delete_documents

Usuwanie dokumentów z indeksu usługi Azure Search

Usunięcie usuwa określony dokument z indeksu. Każde pole określone w operacji usuwania, inne niż pole klucza, zostanie zignorowane. Jeśli chcesz usunąć pojedyncze pole z dokumentu, użyj merge_documents zamiast tego i ustaw jawnie pole na Wartość Brak.

Operacje usuwania są idempotentne. Oznacza to, że nawet jeśli klucz dokumentu nie istnieje w indeksie, próba wykonania operacji usuwania z tym kluczem spowoduje wyświetlenie kodu stanu 200.

get_document

Pobierz dokument z indeksu usługi Azure Search według jego klucza.

get_document_count

Zwróć liczbę dokumentów w indeksie usługi Azure Search.

index_documents

Określ operacje dokumentu do wykonania jako partia.

:Podnosi RequestEntityTooLargeError

merge_documents

Scal dokumenty z istniejącymi dokumentami w indeksie usługi Azure Search.

Scalaj aktualizuje istniejący dokument z określonymi polami. Jeśli dokument nie istnieje, scalanie zakończy się niepowodzeniem. Wszystkie pola, które określisz w żądaniu scalania, zastąpią istniejące pola w dokumencie. Dotyczy to również kolekcji typów pierwotnych i złożonych.

merge_or_upload_documents

Scal dokumenty z istniejącymi dokumentami w indeksie usługi Azure Search lub przekaż je, jeśli jeszcze nie istnieją.

Ta akcja działa jak merge_documents , jeśli dokument z danym kluczem już istnieje w indeksie. Jeśli dokument nie istnieje, zachowuje się jak upload_documents z nowym dokumentem.

search

Przeszukaj indeks wyszukiwania platformy Azure pod kątem dokumentów.

suggest

Pobierz wyniki sugestii wyszukiwania z indeksu usługi Azure Search.

znak i nie więcej niż 100 znaków. suggester_name str :p aram: wymagane. Nazwa sugestora określona w kolekcji sugestorów, która jest częścią definicji indeksu. :keyword str filter: Wyrażenie OData, które filtruje dokumenty brane pod uwagę pod kątem sugestii. :keyword bool use_fuzzy_matching: wartość wskazująca, czy używać dopasowywania rozmytego dla sugestii

Kwerendy. Wartość domyślna to false. Po ustawieniu wartości true zapytanie znajdzie terminy, nawet jeśli w tekście wyszukiwania znajduje się znak zastępczy lub brakuje go. Chociaż zapewnia to lepsze środowisko w niektórych scenariuszach, wiąże się to z kosztem wydajności, ponieważ sugestie rozmyte są wolniejsze i zużywają więcej zasobów.

upload_documents

Przekazywanie dokumentów do indeksu usługi Azure Search.

Akcja przekazywania jest podobna do operacji "upsert", w której dokument zostanie wstawiony, jeśli jest nowy i zaktualizowany/zastąpiony, jeśli istnieje. Wszystkie pola są zastępowane w przypadku aktualizacji.

autocomplete

Pobierz wyniki automatycznego uzupełniania wyszukiwania z indeksu usługi Azure Search.

kolekcja, która jest częścią definicji indeksu. :tryb słowa kluczowego: określa tryb autouzupełniania. Wartość domyślna to "oneTerm". Zastosowanie

"twoTerms", aby uzyskać shingles i "oneTermWithContext" do używania bieżącego kontekstu podczas tworzenia terminów autouzukończonych. Możliwe wartości to: "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]

Parametry

filter
str

Wyrażenie OData, które filtruje dokumenty używane do tworzenia ukończonych terminów dla wyniku autouzupełniania.

use_fuzzy_matching
bool

Wartość wskazująca, czy używać dopasowywania rozmytego dla zapytania autouzupełniania. Wartość domyślna to false. Po ustawieniu wartości true zapytanie znajdzie terminy, nawet jeśli w tekście wyszukiwania znajduje się zastępczy lub brakujący znak. Chociaż zapewnia to lepsze środowisko w niektórych scenariuszach, wiąże się to z kosztem wydajności, ponieważ rozmyte zapytania autouzupełniania są wolniejsze i zużywają więcej zasobów.

highlight_post_tag
str

Tag ciągu, który jest dołączany do wyróżniania trafień. Należy ustawić element z funkcją highlightPreTag. Jeśli pominięto, wyróżnianie trafień jest wyłączone.

highlight_pre_tag
str

Tag ciągu, który jest poprzedzany do wyróżniania. Należy ustawić element z wyróżnionym elementemPostTag. Jeśli pominięto, wyróżnianie trafień jest wyłączone.

minimum_coverage
float

Liczba z zakresu od 0 do 100 wskazująca procent indeksu, który musi być objęty zapytaniem autouzupełniania w celu zgłoszenia zapytania jako powodzenia. Ten parametr może być przydatny do zapewnienia dostępności wyszukiwania nawet dla usług z tylko jedną repliką. Wartość domyślna to 80.

search_fields
list[str]

Lista nazw pól, które należy wziąć pod uwagę podczas wykonywania zapytań dotyczących terminów wykonanych automatycznie. Pola docelowe muszą być uwzględnione w określonym sugestorze.

top
int

Liczba terminów autouzukończonych do pobrania. Musi to być wartość z zakresu od 1 do 100. Wartość domyślna to 5.

Typ zwracany

Przykłady

Pobierz automatyczne uzupełnianie.


   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

Zamknij sesję SearchClient .

close() -> None

delete_documents

Usuwanie dokumentów z indeksu usługi Azure Search

Usunięcie usuwa określony dokument z indeksu. Każde pole określone w operacji usuwania, inne niż pole klucza, zostanie zignorowane. Jeśli chcesz usunąć pojedyncze pole z dokumentu, użyj merge_documents zamiast tego i ustaw jawnie pole na Wartość Brak.

Operacje usuwania są idempotentne. Oznacza to, że nawet jeśli klucz dokumentu nie istnieje w indeksie, próba wykonania operacji usuwania z tym kluczem spowoduje wyświetlenie kodu stanu 200.

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

Parametry

documents
list[dict]
Wymagane

Lista dokumentów do usunięcia.

Zwraca

Lista indeksowaniaResult

Typ zwracany

Przykłady

Usuwanie istniejących dokumentów do indeksu


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

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

get_document

Pobierz dokument z indeksu usługi Azure Search według jego klucza.

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

Parametry

key
str
Wymagane

Wartość klucza podstawowego dla dokumentu do pobrania

selected_fields
list[str]
Wymagane

lista pól dozwolonych do uwzględnienia w wynikach

Zwraca

Dokument przechowywany w indeksie usługi Azure Search

Typ zwracany

Przykłady

Pobierz konkretny dokument z indeksu wyszukiwania.


   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

Zwróć liczbę dokumentów w indeksie usługi Azure Search.

get_document_count(**kwargs: Any) -> int

Zwraca

Liczba dokumentów w indeksie

Typ zwracany

int

index_documents

Określ operacje dokumentu do wykonania jako partia.

:Podnosi RequestEntityTooLargeError

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

Parametry

batch
IndexDocumentsBatch
Wymagane

Partia operacji dokumentu do wykonania.

Zwraca

Lista indeksowaniaResult

Typ zwracany

merge_documents

Scal dokumenty z istniejącymi dokumentami w indeksie usługi Azure Search.

Scalaj aktualizuje istniejący dokument z określonymi polami. Jeśli dokument nie istnieje, scalanie zakończy się niepowodzeniem. Wszystkie pola, które określisz w żądaniu scalania, zastąpią istniejące pola w dokumencie. Dotyczy to również kolekcji typów pierwotnych i złożonych.

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

Parametry

documents
list[dict]
Wymagane

Lista dokumentów do scalenia.

Zwraca

Lista indeksowaniaResult

Typ zwracany

Przykłady

Scal pola z istniejącymi dokumentami do indeksu


   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

Scal dokumenty z istniejącymi dokumentami w indeksie usługi Azure Search lub przekaż je, jeśli jeszcze nie istnieją.

Ta akcja działa jak merge_documents , jeśli dokument z danym kluczem już istnieje w indeksie. Jeśli dokument nie istnieje, zachowuje się jak upload_documents z nowym dokumentem.

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

Parametry

documents
list[dict]
Wymagane

Lista dokumentów do scalania lub przekazywania.

Zwraca

Lista indeksowaniaResult

Typ zwracany

Przeszukaj indeks wyszukiwania platformy Azure pod kątem dokumentów.

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]

Parametry

search_text
str
Wymagane

Wyrażenie zapytania wyszukiwania pełnotekstowego; Użyj wartości "*" lub pomiń ten parametr, aby dopasować wszystkie dokumenty.

include_total_count
bool

Wartość określająca, czy pobrać łączną liczbę wyników. Wartość domyślna to false. Ustawienie tej wartości na wartość true może mieć wpływ na wydajność. Zwróć uwagę, że zwrócona liczba jest przybliżeniem.

facets
list[str]

Lista wyrażeń aspektowych, które mają być stosowane do zapytania wyszukiwania. Każde wyrażenie aspektu zawiera nazwę pola, po którym opcjonalnie następuje rozdzielona przecinkami lista par name:value.

filter
str

Wyrażenie OData $filter, które ma być stosowane do zapytania wyszukiwania.

highlight_fields
str

Rozdzielona przecinkami lista nazw pól używanych do wyróżniania trafień. Do wyróżniania trafień można używać tylko pól z możliwością wyszukiwania.

highlight_post_tag
str

Tag ciągu, który jest dołączany do wyróżniania trafień. Należy ustawić element z funkcją highlightPreTag. Wartość domyślna to .

highlight_pre_tag
str

Tag ciągu, który jest poprzedzany do wyróżniania. Należy ustawić element z wyróżnionym elementemPostTag. Wartość domyślna to .

minimum_coverage
float

Liczba z zakresu od 0 do 100 wskazująca procent indeksu, który musi być objęty zapytaniem wyszukiwania w celu zgłoszenia zapytania jako powodzenia. Ten parametr może być przydatny do zapewnienia dostępności wyszukiwania nawet dla usług z tylko jedną repliką. Wartość domyślna to 100.

order_by
list[str]

Lista wyrażeń $orderby OData, według których mają być posortowane wyniki. Każde wyrażenie może być nazwą pola lub wywołaniem funkcji geo.distance() lub search.score(). Po każdym wyrażeniu można wskazać rosnąco i wskazać malejąco. Wartość domyślna to kolejność rosnąca. Więzi zostaną przerwane przez wyniki meczów dokumentów. Jeśli nie określono wartości OrderBy, domyślna kolejność sortowania jest malejąco według wyniku dopasowania dokumentu. Może istnieć co najwyżej 32 klauzule $orderby.

query_type
str lub QueryType

Wartość określająca składnię zapytania wyszukiwania. Wartość domyślna to "proste". Użyj ciągu "full", jeśli zapytanie używa składni zapytania Lucene. Możliwe wartości to: "simple", "full", "semantic".

scoring_parameters
list[str]

Lista wartości parametrów do użycia w funkcjach oceniania (na przykład referencePointParameter) przy użyciu formatu name-values. Jeśli na przykład profil oceniania definiuje funkcję z parametrem o nazwie "mylocation", ciąg parametru to "mylocation–122.2,44.8" (bez cudzysłowów).

scoring_profile
str

Nazwa profilu oceniania w celu oceny wyników dopasowania pasujących dokumentów w celu sortowania wyników.

search_fields
list[str]

Lista nazw pól, do których ma być zakres wyszukiwania pełnotekstowego. W przypadku korzystania z wyszukiwania w polu (fieldName:searchExpression) w pełnym zapytaniu Lucene nazwy pól poszczególnych wyrażeń wyszukiwania pól mają pierwszeństwo przed wszelkimi nazwami pól wymienionymi w tym parametrze.

search_mode
str lub SearchMode

Wartość określająca, czy dowolne lub wszystkie terminy wyszukiwania muszą być dopasowane, aby zliczyć dokument jako dopasowanie. Możliwe wartości to: "any", "all".

query_answer
str lub QueryAnswerType

Ten parametr jest prawidłowy tylko wtedy, gdy typ zapytania to "semantyka". Jeśli jest ustawiona, zapytanie zwraca odpowiedzi wyodrębnione z kluczowych fragmentów w najwyżej sklasyfikowanych dokumentach. Możliwe wartości to: "none", "extractive".

query_answer_count
int

Ten parametr jest prawidłowy tylko wtedy, gdy typ zapytania to "semantyka", a odpowiedź na zapytanie to "extractive". Konfiguruje liczbę zwróconych odpowiedzi. Domyślna liczba to 1.

query_answer_threshold
float

Ten parametr jest prawidłowy tylko wtedy, gdy typ zapytania to "semantyka", a odpowiedź na zapytanie to "extractive". Konfiguruje liczbę progów ufności. Domyślna liczba to 0,7.

query_caption
str lub QueryCaptionType

Ten parametr jest prawidłowy tylko wtedy, gdy typ zapytania to "semantyka". W przypadku ustawienia zapytanie zwraca napisy wyodrębnione z kluczowych fragmentów w najbardziej sklasyfikowanych dokumentach. Wartość domyślna to "Brak". Możliwe wartości to: "none", "extractive".

query_caption_highlight_enabled
bool

Ten parametr jest prawidłowy tylko wtedy, gdy typ zapytania jest "semantyczny", gdy zapytanie podpis jest ustawione na "wyodrębnianie". Określa, czy wyróżnianie jest włączone. Wartość domyślna to "true".

semantic_configuration_name
str

Nazwa konfiguracji semantycznej, która będzie używana podczas przetwarzania dokumentów dla zapytań semantycznych typów.

select
list[str]

Lista pól do pobrania. Jeśli nie zostanie określona, zostaną uwzględnione wszystkie pola oznaczone jako możliwe do pobrania w schemacie.

skip
int

Liczba wyników wyszukiwania do pominięcia. Ta wartość nie może być większa niż 100 000. Jeśli musisz skanować dokumenty w sekwencji, ale nie można użyć $skip z powodu tego ograniczenia, rozważ użycie $orderby na całkowicie uporządkowanym kluczu i $filter z zapytaniem zakresu.

top
int

Liczba wyników wyszukiwania do pobrania. Może to być używane w połączeniu z $skip do implementowania stronicowania wyników wyszukiwania po stronie klienta. Jeśli wyniki są obcinane z powodu stronicowania po stronie serwera, odpowiedź będzie zawierać token kontynuacji, który może służyć do wystawiania innego żądania wyszukiwania dla następnej strony wyników.

scoring_statistics
str lub ScoringStatistics

Wartość określająca, czy chcemy obliczyć statystyki oceniania (takie jak częstotliwość dokumentu) globalnie w celu uzyskania bardziej spójnego oceniania lub lokalnie w celu uzyskania mniejszego opóźnienia. Wartość domyślna to "local". Użyj wartości "global", aby zagregować statystyki oceniania globalnie przed ocenianiem. Użycie globalnych statystyk oceniania może zwiększyć opóźnienie zapytań wyszukiwania. Możliwe wartości to: "local", "global".

session_id
str

Wartość, która ma zostać użyta do utworzenia sesji sticky, co może pomóc w uzyskaniu bardziej spójnych wyników. Tak długo, jak jest używany ten sam identyfikator sessionId, zostanie podjęta próba osiągnięcia tego samego zestawu replik. Należy uważać, że ponowne użycie tych samych wartości sessionID wielokrotnie może zakłócać równoważenie obciążenia żądań między replikami i niekorzystnie wpływać na wydajność usługi wyszukiwania. Wartość używana jako sessionId nie może rozpoczynać się od znaku "_".

semantic_error_mode
str lub SemanticErrorMode

Umożliwia użytkownikowi wybranie, czy wywołanie semantyczne powinno zakończyć się niepowodzeniem (domyślne/bieżące zachowanie) lub zwrócić częściowe wyniki. Znane wartości to: "partial" (częściowe) i "fail" (niepowodzenie).

semantic_max_wait_in_milliseconds
int

Umożliwia użytkownikowi ustawienie górnej granicy czasu, jaki zajmuje ukończenie przetwarzania semantycznego wzbogacenia, zanim żądanie zakończy się niepowodzeniem.

vector_queries
list[VectorQuery]

Parametry zapytania dla zapytań wektorowych i hybrydowych wyszukiwania.

vector_filter_mode
str lub VectorFilterMode

Określa, czy filtry są stosowane przed lub po wykonaniu wyszukiwania wektorowego. Wartość domyślna to "preFilter". Znane wartości to: "postFilter" i "preFilter".

Typ zwracany

Przykłady

Uzyskiwanie aspektów wyników wyszukiwania.


   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

Pobierz wyniki sugestii wyszukiwania z indeksu usługi Azure Search.

znak i nie więcej niż 100 znaków. suggester_name str :p aram: wymagane. Nazwa sugestora określona w kolekcji sugestorów, która jest częścią definicji indeksu. :keyword str filter: Wyrażenie OData, które filtruje dokumenty brane pod uwagę pod kątem sugestii. :keyword bool use_fuzzy_matching: wartość wskazująca, czy używać dopasowywania rozmytego dla sugestii

Kwerendy. Wartość domyślna to false. Po ustawieniu wartości true zapytanie znajdzie terminy, nawet jeśli w tekście wyszukiwania znajduje się znak zastępczy lub brakuje go. Chociaż zapewnia to lepsze środowisko w niektórych scenariuszach, wiąże się to z kosztem wydajności, ponieważ sugestie rozmyte są wolniejsze i zużywają więcej zasobów.

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]

Parametry

highlight_post_tag
str

Tag ciągu, który jest dołączany do wyróżniania trafień. Należy ustawić element z elementem highlightPreTag. Jeśli pominięto, wyróżnienie trafień sugestii jest wyłączone.

highlight_pre_tag
str

Tag ciągu, który jest poprzedzany wyróżniania trafień. Należy ustawić element z elementem highlightPostTag. Jeśli pominięto, wyróżnienie trafień sugestii jest wyłączone.

minimum_coverage
float

Liczba z zakresu od 0 do 100 wskazująca wartość procentową indeksu, która musi być objęta sugestiami w celu zgłoszenia zapytania jako powodzenia. Ten parametr może być przydatny do zapewnienia dostępności wyszukiwania nawet dla usług z tylko jedną repliką. Wartość domyślna to 80.

order_by
list[str]

Lista wyrażeń OData $orderby, według których mają być sortowane wyniki. Każde wyrażenie może być nazwą pola lub wywołaniem funkcji geo.distance() lub search.score(). Po każdym wyrażeniu można wskazać rosnąco lub desc wskazującym malejąco. Wartość domyślna to kolejność rosnąca. Więzi zostaną przerwane przez wyniki dopasowań dokumentów. Jeśli nie określono $orderby, domyślna kolejność sortowania jest malejąco według wyniku dopasowania dokumentu. Może istnieć co najwyżej 32 klauzule $orderby.

search_fields
list[str]

Lista nazw pól do wyszukiwania określonego tekstu wyszukiwania. Pola docelowe muszą być uwzględnione w określonym sugestorze.

select
list[str]

Lista pól do pobrania. Jeśli nie zostanie określona, tylko pole klucza zostanie uwzględnione w wynikach.

top
int

Liczba sugestii do pobrania. Wartość musi być liczbą z zakresu od 1 do 100. Wartość domyślna to 5.

Zwraca

Lista dokumentów.

Typ zwracany

Przykłady

Pobierz sugestie dotyczące wyszukiwania.


   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

Przekazywanie dokumentów do indeksu usługi Azure Search.

Akcja przekazywania jest podobna do operacji "upsert", w której dokument zostanie wstawiony, jeśli jest nowy i zaktualizowany/zastąpiony, jeśli istnieje. Wszystkie pola są zastępowane w przypadku aktualizacji.

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

Parametry

documents
list[dict]
Wymagane

Lista dokumentów do przekazania.

Zwraca

Lista indeksowaniaResult

Typ zwracany

Przykłady

Przekazywanie nowych dokumentów do indeksu


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