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 | AsyncTokenCredential, **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 AsyncTokenCredential
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.aio 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

Wyszukaj w indeksie usługi Azure Search dokumenty.

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. :słowo kluczowe use_fuzzy_matching: wartość wskazująca, czy używać dopasowania 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ę zastępczy lub brakujący znak. 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 "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".

async 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.aio import SearchClient

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

   async with search_client:
       results = await 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 .

async close() -> None

Zwraca

Brak

Typ zwracany

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.

async 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 = await search_client.upload_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.

async 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 zgodny z określonym kluczem

Typ zwracany

Przykłady

Pobierz konkretny dokument z indeksu wyszukiwania.


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

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

   async with search_client:
       result = await 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.

async 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

async 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.

async 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 = await search_client.upload_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.

async 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

Wyszukaj w indeksie usługi Azure Search dokumenty.

async 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) -> AsyncSearchItemPaged[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, które mają być używane 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 będzie "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ć ograniczone wyszukiwanie pełnotekstowe. W przypadku korzystania z wyszukiwania w polu (fieldName:searchExpression) w pełnym zapytaniu Lucene nazwy pól każdego wyrażenia 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ć zgodne w celu zliczenia dokumentu jako dopasowania. Możliwe wartości to: "any", "all".

query_answer
str lub QueryAnswerType

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

query_answer_count
int

Ten parametr jest prawidłowy tylko wtedy, gdy typ zapytania to "semantyczny", a odpowiedź na zapytanie to "wyodrębnianie". Konfiguruje liczbę zwróconych odpowiedzi. Liczba domyślna to 1.

query_answer_threshold
float

Ten parametr jest prawidłowy tylko wtedy, gdy typ zapytania to "semantyczny", a odpowiedź na zapytanie to "wyodrębnianie". Konfiguruje liczbę progów ufności. Liczba domyślna to 0,7.

query_caption
str lub QueryCaptionType

Ten parametr jest prawidłowy tylko wtedy, gdy typ zapytania jest "semantyczny". W przypadku ustawienia zapytanie zwraca podpisy wyodrębnione z kluczowych fragmentów w najbardziej sklasyfikowanych dokumentach. Wartość domyślna to "None". 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 semantycznej konfiguracji, która będzie używana podczas przetwarzania dokumentów dla zapytań typu semantycznego.

select
list[str]

Lista pól do pobrania. Jeśli nieokreślone, 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ą obcięte 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ść dokumentów) globalnie w celu uzyskania bardziej spójnego oceniania lub lokalnie w celu uzyskania mniejszych opóźnień. Wartość domyślna to "local". Użyj wartości "global", aby agregować 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 być używana do tworzenia sesji lepkiej, co może pomóc uzyskać bardziej spójne wyniki. Tak długo, jak jest używany ten sam identyfikator sesji, zostanie podjęta najlepsza próba ukierunkowana na ten sam zestaw replik. Należy pamiętać, ż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: "częściowe" i "fail".

semantic_max_wait_in_milliseconds
int

Umożliwia użytkownikowi ustawienie górnej granicy czasu potrzebny na semantycznie wzbogacanie w celu zakończenia przetwarzania przed niepowodzeniem żądania.

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".

Zwraca

Lista dokumentów (dykt) spełniających określone kryteria wyszukiwania.

Typ zwracany

Przykłady

Uzyskiwanie aspektów wyników wyszukiwania.


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

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

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

       facets: Dict[str, List[str]] = cast(Dict[str, List[str]], await 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. :słowo kluczowe use_fuzzy_matching: wartość wskazująca, czy używać dopasowania 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ę zastępczy lub brakujący znak. 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.

async 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 funkcją highlightPreTag. Jeśli pominięto, wyróżnienie trafień sugestii 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óżnienie trafień sugestii jest wyłączone.

minimum_coverage
float

Liczba z zakresu od 0 do 100 wskazująca procent indeksu, który musi być objęty przez zapytanie sugestii, aby zapytanie było zgłaszane jako powodzenie. 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ń $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 lub desc wskazując malejąco. Wartość domyślna to kolejność rosnąca. Więzi zostaną przerwane przez wyniki meczów 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 wyszukania 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, w wynikach zostaną uwzględnione tylko pole klucza.

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.aio import SearchClient

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

   async with search_client:
       results = await search_client.suggest(search_text="coffee", suggester_name="sg")

       print("Search suggestions for 'coffee'")
       for result in results:
           hotel = await 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 "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.

async 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 = await search_client.upload_documents(documents=[DOCUMENT])

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