Megosztás a következőn keresztül:


SearchClient Osztály

Egy ügyfél, amely egy meglévő Azure Search-indexet használ.

Öröklődés
azure.search.documents._headers_mixin.HeadersMixin
SearchClient

Konstruktor

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

Paraméterek

endpoint
str
Kötelező

Egy Azure Search-szolgáltatás URL-végpontja

index_name
str
Kötelező

Annak az indexnek a neve, amelyhez csatlakozni szeretne

credential
AzureKeyCredential vagy TokenCredential
Kötelező

Hitelesítő adat a keresési ügyfélkérések engedélyezéséhez

api_version
str

A kérésekhez használandó Search API-verzió.

audience
str

beállítja a célközönséget az Azure Active Directoryval (AAD) való hitelesítéshez. A közönséget nem veszi figyelembe a rendszer megosztott kulcs használata esetén. Ha a célközönség nincs megadva, a nyilvános felhőbeli közönséget feltételezzük.

Példák

A SearchClient létrehozása API-kulccsal.


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

Metódusok

autocomplete

Keresési automatikus kiegészítési eredmények lekérése az Azure keresési indexéből.

gyűjtemény, amely az indexdefiníció részét képezi. :kulcsszó mód: Az automatikus kiegészítés módját adja meg. Az alapértelmezett érték a "oneTerm". Használat

"twoTerms", hogy lekérje a zsindelyeket és a "oneTermWithContext" parancsot, hogy az aktuális környezetet használja az automatikusan kitöltött kifejezések létrehozásakor. Lehetséges értékek: "oneTerm", "twoTerms", "oneTermWithContext".

close

Zárja be a munkamenetet SearchClient .

delete_documents

Dokumentumok törlése az Azure Search-indexből

A törlés eltávolítja a megadott dokumentumot az indexből. A rendszer figyelmen kívül hagyja a törlési műveletben megadott mezőket a kulcsmezőn kívül. Ha el szeretne távolítani egy egyéni mezőt egy dokumentumból, használja inkább a merge_documents , és állítsa a mezőt explicit módon Nincs értékre.

A törlési műveletek idempotensek. Ez azt jelenti, hogy még ha egy dokumentumkulcs nem is létezik az indexben, a törlési művelet ezzel a kulccsal való megkísérlése 200 állapotkódot eredményez.

get_document

Dokumentum lekérése az Azure search-indexből a kulcsával.

get_document_count

Adja vissza az Azure search-indexben lévő dokumentumok számát.

index_documents

Adja meg a kötegként végrehajtandó dokumentumműveleteket.

:Felveti RequestEntityTooLargeError

merge_documents

Dokumentumok egyesítése meglévő dokumentumokkal az Azure search-indexben.

Az egyesítése frissíti a meglévő dokumentumot a megadott mezőkkel. Ha a dokumentum nem létezik, az egyesítés sikertelen lesz. A rendszer az egyesítési művelet során megadott mezőkre cseréli a dokumentum meglévő mezőit. Ez a primitív és összetett típusok gyűjteményére is vonatkozik.

merge_or_upload_documents

Egyesítse a dokumentumokat az Azure search-index meglévő dokumentumaiba, vagy töltse fel őket, ha még nem léteznek.

Ez a művelet úgy viselkedik, mint merge_documents , ha az adott kulccsal rendelkező dokumentum már létezik az indexben. Ha a dokumentum nem létezik, úgy viselkedik, mint upload_documents egy új dokumentummal.

search

Dokumentumok keresése az Azure keresési indexében.

suggest

Keresési javaslatok eredményeinek lekérése az Azure keresési indexéből.

karakter, és legfeljebb 100 karakter. :p aram str suggester_name: Kötelező. A javaslattevő neve az indexdefiníció részét képező javaslattevő-gyűjteményben megadottak szerint. :keyword str filter: OData-kifejezés, amely szűri a javaslatoknak tekintett dokumentumokat. :keyword bool use_fuzzy_matching: Egy érték, amely azt jelzi, hogy a javaslatokhoz használjon-e homályos egyeztetést

Lekérdezés. Az alapértelmezett érték a false (hamis). Ha igaz értékre van állítva, a lekérdezés akkor is megkeresi a kifejezéseket, ha egy helyettesítő vagy hiányzó karakter szerepel a keresési szövegben. Bár ez jobb élményt nyújt bizonyos helyzetekben, teljesítményköltséggel jár, mivel a homályos javaslatok lekérdezései lassabbak, és több erőforrást használnak fel.

upload_documents

Dokumentumok feltöltése az Azure Search-indexbe.

A feltöltési művelet hasonlít egy "upsert" művelethez, amelyben a dokumentum be lesz szúrva, ha új, és ha létezik, frissítve/lecserélve. A frissítési esetben minden mező lecserélődik.

autocomplete

Keresési automatikus kiegészítési eredmények lekérése az Azure keresési indexéből.

gyűjtemény, amely az indexdefiníció részét képezi. :kulcsszó mód: Az automatikus kiegészítés módját adja meg. Az alapértelmezett érték a "oneTerm". Használat

"twoTerms", hogy lekérje a zsindelyeket és a "oneTermWithContext" parancsot, hogy az aktuális környezetet használja az automatikusan kitöltött kifejezések létrehozásakor. Lehetséges értékek: "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]

Paraméterek

filter
str

OData-kifejezés, amely szűri az automatikus kiegészítés eredményének befejezett kifejezések előállításához használt dokumentumokat.

use_fuzzy_matching
bool

Egy érték, amely azt jelzi, hogy az automatikus kiegészítési lekérdezéshez használjon-e intelligens egyeztetést. Az alapértelmezett érték a false (hamis). Ha igaz értékre van állítva, a lekérdezés akkor is megkeresi a kifejezéseket, ha egy helyettesítő vagy hiányzó karakter szerepel a keresési szövegben. Bár ez jobb élményt nyújt bizonyos forgatókönyvekben, teljesítményköltséggel jár, mivel a homályos automatikus kiegészítési lekérdezések lassabbak, és több erőforrást használnak fel.

highlight_post_tag
str

A kiemelt találatokhoz hozzáfűzött sztringcímke. A highlightPreTag értéket kell megadni. Ha nincs megadva, a találatkiemelés le van tiltva.

highlight_pre_tag
str

Egy sztringcímke, amely elő van állítva a kiemelések eléréséhez. A highlightPostTag értéket kell megadni. Ha nincs megadva, a találatkiemelés le van tiltva.

minimum_coverage
float

0 és 100 közötti szám, amely azt jelzi, hogy az index hány százalékát kell lefedni egy automatikus kiegészítési lekérdezéssel ahhoz, hogy a lekérdezés sikeres legyen. Ez a paraméter akkor is hasznos lehet, ha csak egy replikával rendelkező szolgáltatások esetében is biztosítja a keresések rendelkezésre állását. Az alapértelmezett érték 80.

search_fields
list[str]

Az automatikusan kitöltött kifejezések lekérdezésekor figyelembe veendő mezőnevek listája. A célmezőknek szerepelnie kell a megadott javaslattevőben.

top
int

A lekérendő automatikusan kitöltött kifejezések száma. Ennek 1 és 100 közötti értéknek kell lennie. Az alapértelmezett érték 5.

Visszatérési típus

Példák

Automatikus kiegészítések lekérése.


   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

Zárja be a munkamenetet SearchClient .

close() -> None

delete_documents

Dokumentumok törlése az Azure Search-indexből

A törlés eltávolítja a megadott dokumentumot az indexből. A rendszer figyelmen kívül hagyja a törlési műveletben megadott mezőket a kulcsmezőn kívül. Ha el szeretne távolítani egy egyéni mezőt egy dokumentumból, használja inkább a merge_documents , és állítsa a mezőt explicit módon Nincs értékre.

A törlési műveletek idempotensek. Ez azt jelenti, hogy még ha egy dokumentumkulcs nem is létezik az indexben, a törlési művelet ezzel a kulccsal való megkísérlése 200 állapotkódot eredményez.

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

Paraméterek

documents
list[dict]
Kötelező

A törölni kívánt dokumentumok listája.

Válaszok

Az IndexingResult listája

Visszatérési típus

Példák

Meglévő dokumentumok törlése egy indexbe


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

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

get_document

Dokumentum lekérése az Azure search-indexből a kulcsával.

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

Paraméterek

key
str
Kötelező

A beolvasandó dokumentum elsődleges kulcsértéke

selected_fields
list[str]
Kötelező

az eredményekben szerepeltetni kívánt mezők engedélyezési listája

Válaszok

Az Azure Search-indexben tárolt dokumentum

Visszatérési típus

Példák

Adott dokumentum lekérése a keresési indexből.


   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

Adja vissza az Azure search-indexben lévő dokumentumok számát.

get_document_count(**kwargs: Any) -> int

Válaszok

Az indexben lévő dokumentumok száma

Visszatérési típus

int

index_documents

Adja meg a kötegként végrehajtandó dokumentumműveleteket.

:Felveti RequestEntityTooLargeError

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

Paraméterek

batch
IndexDocumentsBatch
Kötelező

A végrehajtandó dokumentumműveletek kötege.

Válaszok

Az IndexingResult listája

Visszatérési típus

merge_documents

Dokumentumok egyesítése meglévő dokumentumokkal az Azure search-indexben.

Az egyesítése frissíti a meglévő dokumentumot a megadott mezőkkel. Ha a dokumentum nem létezik, az egyesítés sikertelen lesz. A rendszer az egyesítési művelet során megadott mezőkre cseréli a dokumentum meglévő mezőit. Ez a primitív és összetett típusok gyűjteményére is vonatkozik.

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

Paraméterek

documents
list[dict]
Kötelező

Az egyesítendő dokumentumok listája.

Válaszok

Az IndexingResult listája

Visszatérési típus

Példák

Mezők egyesítése meglévő dokumentumokba egy indexbe


   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

Egyesítse a dokumentumokat az Azure search-index meglévő dokumentumaiba, vagy töltse fel őket, ha még nem léteznek.

Ez a művelet úgy viselkedik, mint merge_documents , ha az adott kulccsal rendelkező dokumentum már létezik az indexben. Ha a dokumentum nem létezik, úgy viselkedik, mint upload_documents egy új dokumentummal.

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

Paraméterek

documents
list[dict]
Kötelező

Az egyesítendő vagy feltöltendő dokumentumok listája.

Válaszok

Az IndexingResult listája

Visszatérési típus

Dokumentumok keresése az Azure keresési indexében.

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]

Paraméterek

search_text
str
Kötelező

Teljes szöveges keresési lekérdezési kifejezés; Használja a "*" paramétert, vagy kihagyja ezt a paramétert az összes dokumentum egyeztetéséhez.

include_total_count
bool

Egy érték, amely megadja, hogy lekérje-e az eredmények teljes számát. Az alapértelmezett érték a false (hamis). Ha ezt az értéket igaz értékre állítja, az hatással lehet a teljesítményre. Vegye figyelembe, hogy a visszaadott szám közelítés.

facets
list[str]

A keresési lekérdezésre alkalmazandó aspektuskifejezések listája. Minden aspektuskifejezés tartalmaz egy mezőnevet, amelyet igény szerint a név:érték párok vesszővel tagolt listája követ.

filter
str

Az OData $filter kifejezés, amely a keresési lekérdezésre alkalmazandó.

highlight_fields
str

A találatok kiemeléséhez használandó mezőnevek vesszővel tagolt listája. Csak kereshető mezők használhatók a találatok kiemeléséhez.

highlight_post_tag
str

A kiemelt találatokhoz hozzáfűzött sztringcímke. A highlightPreTag értéket kell megadni. Az alapértelmezett szint a .

highlight_pre_tag
str

Egy sztringcímke, amely elő van állítva a kiemelések eléréséhez. A highlightPostTag értéket kell megadni. Az alapértelmezett szint a .

minimum_coverage
float

Egy 0 és 100 közötti szám, amely az index azon százalékát jelzi, amelyet egy keresési lekérdezésnek le kell fednie ahhoz, hogy a lekérdezés sikeres legyen. Ez a paraméter akkor is hasznos lehet, ha csak egy replikával rendelkező szolgáltatások esetében is biztosítja a keresések rendelkezésre állását. Az alapértelmezett érték 100.

order_by
list[str]

Az OData $orderby kifejezések listája, amelyek alapján rendezheti az eredményeket. Minden kifejezés lehet mezőnév vagy a geo.distance() vagy a search.score() függvény hívása. Az egyes kifejezéseket követheti az asc, amely növekvő, a desc pedig csökkenő értéket jelez. Az alapértelmezett érték a növekvő sorrend. A kapcsolatokat a dokumentumok egyező pontszámai fogják megszakítani. Ha nincs megadva OrderBy, az alapértelmezett rendezési sorrend a dokumentumegyezés pontszáma szerint csökkenő lesz. Legfeljebb 32 $orderby záradék lehet.

query_type
str vagy QueryType

A keresési lekérdezés szintaxisát meghatározó érték. Az alapértelmezett érték az "egyszerű". Használja a "full" értéket, ha a lekérdezés a Lucene lekérdezési szintaxist használja. Lehetséges értékek: "simple", "full", "szemantic".

scoring_parameters
list[str]

A pontozási függvényekben (például referenciaPointParameter) használandó paraméterértékek listája a formátumnév-értékek használatával. Ha például a pontozási profil egy "mylocation" paraméterrel rendelkező függvényt határoz meg, a paramétersztring "mylocation–122.2,44.8" (idézőjelek nélkül).

scoring_profile
str

Egy pontozási profil neve, amely kiértékeli az egyező dokumentumok egyező pontszámait az eredmények rendezése érdekében.

search_fields
list[str]

Azoknak a mezőneveknek a listája, amelyekre a teljes szöveges keresés hatókörét ki szeretné terjedni. Ha egy teljes Lucene-lekérdezésben mezőalapú keresést (fieldName:searchExpression) használ, az egyes mezőalapú keresési kifejezések mezőnevei elsőbbséget élveznek az ebben a paraméterben felsorolt mezőnevekkel szemben.

search_mode
str vagy SearchMode

Egy érték, amely meghatározza, hogy a keresési kifejezések bármelyikét vagy mindegyikét egyezőnek kell-e tekinteni ahhoz, hogy a dokumentumot egyezésként lehessen megszámolni. A lehetséges értékek a következők: "any", "all".

query_answer
str vagy QueryAnswerType

Ez a paraméter csak akkor érvényes, ha a lekérdezés típusa "szemantikus". Ha be van állítva, a lekérdezés a legmagasabb rangsorolt dokumentumok kulcsszakaszaiból kinyert válaszokat adja vissza. Lehetséges értékek: "none", "extractive".

query_answer_count
int

Ez a paraméter csak akkor érvényes, ha a lekérdezés típusa "szemantikus", a lekérdezés válasza pedig "kinyerő". A visszaadott válaszok számát konfigurálja. Az alapértelmezett szám 1.

query_answer_threshold
float

Ez a paraméter csak akkor érvényes, ha a lekérdezés típusa "szemantikus", a lekérdezés válasza pedig "kinyerő". Konfigurálja a megbízhatósági küszöbérték számát. Az alapértelmezett szám 0,7.

query_caption
str vagy QueryCaptionType

Ez a paraméter csak akkor érvényes, ha a lekérdezés típusa "szemantikus". Ha be van állítva, a lekérdezés a legmagasabb rangsorolt dokumentumok kulcsszakaszaiból kinyert feliratokat adja vissza. Alapértelmezés szerint "Nincs". Lehetséges értékek: "none", "extractive".

query_caption_highlight_enabled
bool

Ez a paraméter csak akkor érvényes, ha a lekérdezés típusa "szemantikus", ha a lekérdezés képaláírás "kinyerő" értékre van állítva. Meghatározza, hogy engedélyezve van-e a kiemelés. Alapértelmezés szerint "igaz".

semantic_configuration_name
str

Annak a szemantikai konfigurációnak a neve, amelyet a dokumentumok szemantikai típusú lekérdezések feldolgozásához használnak.

select
list[str]

A beolvasandó mezők listája. Ha nincs meghatározva, a rendszer a sémában lekérdezhetőként megjelölt összes mezőt tartalmazza.

skip
int

A kihagyandó keresési eredmények száma. Ez az érték nem lehet nagyobb 100 000-nél. Ha egymás után kell beolvasnia a dokumentumokat, de a korlátozás miatt nem tudja használni a $skip, fontolja meg a $orderby használatát egy teljesen rendezett kulcson, és $filter egy tartomány lekérdezéssel.

top
int

A lekérendő keresési eredmények száma. Ez a $skip együtt használható a keresési eredmények ügyféloldali lapozásának megvalósításához. Ha a találatok csonkulnak a kiszolgálóoldali lapozás miatt, a válasz tartalmaz egy folytatási jogkivonatot, amellyel egy másik keresési kérést adhat ki a következő találati laphoz.

scoring_statistics
str vagy ScoringStatistics

Egy érték, amely meghatározza, hogy globálisan ki szeretnénk-e számítani a pontozási statisztikákat (például a dokumentum gyakoriságát) a konzisztensebb pontozás érdekében, vagy helyileg az alacsonyabb késés érdekében. Az alapértelmezett érték a "helyi". A "globális" használatával globálisan összesítheti a pontozási statisztikákat a pontozás előtt. A globális pontozási statisztikák használata növelheti a keresési lekérdezések késését. Lehetséges értékek: "local", "global".

session_id
str

A ragadós munkamenetek létrehozásához használandó érték, amely segíthet a konzisztensebb eredmények eléréséhez. Amíg ugyanazt a munkamenet-azonosítót használja, a rendszer minden tőle telhetőt megtesz annak érdekében, hogy ugyanazt a replikakészletet célozza meg. Ügyeljen arra, hogy ugyanazon sessionID-értékek ismételt újrafelhasználása zavarja a kérések terheléselosztását a replikák között, és hátrányosan befolyásolhatja a keresési szolgáltatás teljesítményét. A sessionIdként használt érték nem kezdődhet "_" karakterrel.

semantic_error_mode
str vagy SemanticErrorMode

Lehetővé teszi a felhasználó számára, hogy eldöntse, hogy egy szemantikai hívásnak teljesen sikertelennek kell-e lennie (alapértelmezett/aktuális viselkedés), vagy részleges eredményeket ad vissza. Az ismert értékek a következők: "részleges" és "sikertelen".

semantic_max_wait_in_milliseconds
int

Lehetővé teszi a felhasználó számára, hogy felső korlátot állítson be arra az időre, amíg a szemantikai bővítés befejeződik, mielőtt a kérés meghiúsul.

vector_queries
list[VectorQuery]

A vektoros és hibrid keresési lekérdezések lekérdezési paraméterei.

vector_filter_mode
str vagy VectorFilterMode

Meghatározza, hogy a szűrőket a vektorkeresés előtt vagy után alkalmazza-e a rendszer. Az alapértelmezett érték a "preFilter". Ismert értékek: "postFilter" és "preFilter".

Visszatérési típus

Példák

Keresési eredmények aspektusainak lekérése.


   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

Keresési javaslatok eredményeinek lekérése az Azure keresési indexéből.

karakter, és legfeljebb 100 karakter. :p aram str suggester_name: Kötelező. A javaslattevő neve az indexdefiníció részét képező javaslattevő-gyűjteményben megadottak szerint. :keyword str filter: OData-kifejezés, amely szűri a javaslatoknak tekintett dokumentumokat. :keyword bool use_fuzzy_matching: Egy érték, amely azt jelzi, hogy a javaslatokhoz használjon-e homályos egyeztetést

Lekérdezés. Az alapértelmezett érték a false (hamis). Ha igaz értékre van állítva, a lekérdezés akkor is megkeresi a kifejezéseket, ha egy helyettesítő vagy hiányzó karakter szerepel a keresési szövegben. Bár ez jobb élményt nyújt bizonyos helyzetekben, teljesítményköltséggel jár, mivel a homályos javaslatok lekérdezései lassabbak, és több erőforrást használnak fel.

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]

Paraméterek

highlight_post_tag
str

A kiemelt találatokhoz hozzáfűzött sztringcímke. A highlightPreTag értéket kell megadni. Ha nincs megadva, a javaslatok kiemelése le van tiltva.

highlight_pre_tag
str

Egy sztringcímke, amely elő van állítva a kiemelések eléréséhez. A highlightPostTag értéket kell megadni. Ha nincs megadva, a javaslatok kiemelése le van tiltva.

minimum_coverage
float

0 és 100 közötti szám, amely azt jelzi, hogy az index hány százalékát kell lefednie egy javaslati lekérdezésnek ahhoz, hogy a lekérdezés sikeres legyen. Ez a paraméter akkor is hasznos lehet, ha csak egy replikával rendelkező szolgáltatások esetében is biztosítja a keresések rendelkezésre állását. Az alapértelmezett érték 80.

order_by
list[str]

Az OData $orderby kifejezések listája, amelyek alapján rendezheti az eredményeket. Minden kifejezés lehet mezőnév vagy a geo.distance() vagy a search.score() függvény hívása. Az egyes kifejezéseket követheti az asc, amely növekvő értéket, a desc pedig csökkenő értéket jelez. Az alapértelmezett érték a növekvő sorrend. A kapcsolatokat a dokumentumok egyező pontszámai fogják megszakítani. Ha nincs megadva $orderby, az alapértelmezett rendezési sorrend a dokumentumegyezés pontszáma szerint csökkenő lesz. Legfeljebb 32 $orderby záradék lehet.

search_fields
list[str]

A mezőnevek listája, amely a megadott keresési szövegre keres. A célmezőknek szerepelnie kell a megadott javaslattevőben.

select
list[str]

A beolvasandó mezők listája. Ha nincs meghatározva, az eredmények csak a kulcsmezőt tartalmazzák.

top
int

A lekérendő javaslatok száma. Az értéknek 1 és 100 közötti számnak kell lennie. Az alapértelmezett érték 5.

Válaszok

Dokumentumok listája.

Visszatérési típus

Példák

Keresési javaslatok lekérése.


   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

Dokumentumok feltöltése az Azure Search-indexbe.

A feltöltési művelet hasonlít egy "upsert" művelethez, amelyben a dokumentum be lesz szúrva, ha új, és ha létezik, frissítve/lecserélve. A frissítési esetben minden mező lecserélődik.

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

Paraméterek

documents
list[dict]
Kötelező

A feltöltendő dokumentumok listája.

Válaszok

Az IndexingResult listája

Visszatérési típus

Példák

Új dokumentumok feltöltése indexbe


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