Aracılığıyla paylaş


SearchClient Sınıf

Mevcut Azure arama diziniyle etkileşime geçmek için bir istemci.

Devralma
azure.search.documents._headers_mixin.HeadersMixin
SearchClient

Oluşturucu

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

Parametreler

endpoint
str
Gerekli

Azure arama hizmetinin URL uç noktası

index_name
str
Gerekli

Bağlanacak dizinin adı

credential
AzureKeyCredential veya AsyncTokenCredential
Gerekli

Arama istemcisi isteklerini yetkilendirmek için bir kimlik bilgisi

api_version
str

İstekler için kullanılacak Arama API'sinin sürümü.

audience
str

, Azure Active Directory (AAD) ile kimlik doğrulaması için kullanılacak hedef kitleyi ayarlar. Paylaşılan anahtar kullanılırken hedef kitle dikkate alınmaz. Hedef kitle sağlanmazsa genel bulut hedef kitlesi varsayılır.

Örnekler

Api anahtarıyla SearchClient oluşturma.


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

Yöntemler

autocomplete

Azure arama dizininden arama otomatik tamamlama sonuçlarını alın.

dizin tanımının parçası olan koleksiyon. :anahtar sözcük modu: Otomatik Tamamlama modunu belirtir. Varsayılan değer 'oneTerm'dir. Kullanın

'twoTerms', otomatik olarak tamamlanan terimleri oluştururken geçerli bağlamı kullanmak için shingle'ları ve 'oneTermWithContext'i alır. Olası değerler şunlardır: 'oneTerm', 'twoTerms', 'oneTermWithContext'.

close

SearchClient Oturumu kapatın.

delete_documents

Azure arama dizininden belgeleri silme

Delete, belirtilen belgeyi dizinden kaldırır. Silme işleminde belirttiğiniz anahtar alanı dışında herhangi bir alan yoksayılır. Belgeden tek bir alanı kaldırmak istiyorsanız, bunun yerine merge_documents kullanın ve alanı açıkça Yok olarak ayarlayın.

Silme işlemleri eşgüçlüdür. Başka bir ifadeyle, dizinde bir belge anahtarı olmasa bile, bu anahtarla silme işleminin denenmesi 200 durum koduna neden olur.

get_document

Azure arama dizininden anahtarına göre bir belge alın.

get_document_count

Azure arama dizinindeki belge sayısını döndürür.

index_documents

Toplu işlem olarak gerçekleştirilecek belge işlemlerini belirtin.

:Harekete geçiren RequestEntityTooLargeError

merge_documents

içindeki belgeleri Azure arama dizinindeki mevcut belgelerle birleştirin.

Birleştir, varolan bir belgeyi belirtilen alanlarla güncelleştirir. Belge yoksa birleştirme başarısız olur. Birleştirmede belirttiğiniz herhangi bir alan belgede var olan alanın yerini alır. Bu, ilkel ve karmaşık tür koleksiyonları için de geçerlidir.

merge_or_upload_documents

içindeki belgeleri Azure arama dizinindeki mevcut belgelerle birleştirin veya henüz yoksa karşıya yükleyin.

Bu eylem, belirtilen anahtara sahip bir belge dizinde zaten varsa merge_documents gibi davranır. Belge yoksa, yeni bir belgeyle upload_documents gibi davranır.

search

Azure arama dizininde belgeleri arayın.

suggest

Azure arama dizininden arama önerisi sonuçları alın.

ve en fazla 100 karakterden oluşur. :p aram str suggester_name: Gerekli. Dizin tanımının parçası olan önerici koleksiyonunda belirtildiği gibi önericinin adı. :keyword str filtresi: Öneriler için göz önünde bulundurulan belgeleri filtreleyen bir OData ifadesi. :keyword bool use_fuzzy_matching: Öneriler için benzer öğe eşleştirmesinin kullanılıp kullanılmayacağını belirten değer

Sorgu. Varsayılan değer false’tur. True olarak ayarlandığında, arama metninde yerine başka bir karakter veya eksik karakter olsa bile sorgu terimleri bulur. Bu, bazı senaryolarda daha iyi bir deneyim sağlasa da, benzer öneriler sorguları daha yavaş olduğundan ve daha fazla kaynak tükettiği için performans maliyetine neden olur.

upload_documents

Belgeleri Azure arama dizinine yükleyin.

Karşıya yükleme eylemi, yeniyse belgenin eklendiği ve varsa güncelleştirildiği/değiştirileceği "upsert" eylemine benzer. Güncelleştirme durumunda tüm alanlar değiştirilir.

autocomplete

Azure arama dizininden arama otomatik tamamlama sonuçlarını alın.

dizin tanımının parçası olan koleksiyon. :anahtar sözcük modu: Otomatik Tamamlama modunu belirtir. Varsayılan değer 'oneTerm'dir. Kullanın

'twoTerms', otomatik olarak tamamlanan terimleri oluştururken geçerli bağlamı kullanmak için shingle'ları ve 'oneTermWithContext'i alır. Olası değerler şunlardır: '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]

Parametreler

filter
str

Otomatik Tamamlama sonucu için tamamlanmış terimler üretmek için kullanılan belgeleri filtreleyen bir OData ifadesi.

use_fuzzy_matching
bool

Otomatik tamamlama sorgusu için benzer öğe eşleştirmesinin kullanılıp kullanılmayacağını gösteren değer. Varsayılan değer false’tur. True olarak ayarlandığında, arama metninde yerine başka bir karakter veya eksik karakter olsa bile sorgu terimleri bulur. Bu, bazı senaryolarda daha iyi bir deneyim sağlasa da, benzer otomatik tamamlama sorguları daha yavaş olduğundan ve daha fazla kaynak tükettiği için performans maliyetine neden olur.

highlight_post_tag
str

Vurgulananlara isabet etmek için eklenen bir dize etiketi. highlightPreTag ile ayarlanmalıdır. Atlanırsa isabet vurgulama devre dışı bırakılır.

highlight_pre_tag
str

Vurgulamalara basmak için önceden eklenen bir dize etiketi. highlightPostTag ile ayarlanmalıdır. Atlanırsa isabet vurgulama devre dışı bırakılır.

minimum_coverage
float

0 ile 100 arasında bir sayı, sorgunun başarılı olarak bildirilebilmesi için otomatik tamamlama sorgusunun kapsamına alınması gereken dizinin yüzdesini belirtir. Bu parametre, yalnızca bir çoğaltması olan hizmetler için bile arama kullanılabilirliğini sağlamak için yararlı olabilir. Varsayılan değer 80'dir.

search_fields
list[str]

Otomatik olarak tamamlanan terimler sorgulanırken dikkate alınacak alan adlarının listesi. Hedef alanlar belirtilen öneri oluşturucuya eklenmelidir.

top
int

Alınacak otomatik olarak tamamlanan terimlerin sayısı. Bu değer 1 ile 100 arasında olmalıdır. Varsayılan değer 5'tir.

Dönüş türü

Örnekler

Otomatik tamamlamalar alın.


   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

SearchClient Oturumu kapatın.

async close() -> None

Döndürülenler

Hiçbiri

Dönüş türü

delete_documents

Azure arama dizininden belgeleri silme

Delete, belirtilen belgeyi dizinden kaldırır. Silme işleminde belirttiğiniz anahtar alanı dışında herhangi bir alan yoksayılır. Belgeden tek bir alanı kaldırmak istiyorsanız, bunun yerine merge_documents kullanın ve alanı açıkça Yok olarak ayarlayın.

Silme işlemleri eşgüçlüdür. Başka bir ifadeyle, dizinde bir belge anahtarı olmasa bile, bu anahtarla silme işleminin denenmesi 200 durum koduna neden olur.

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

Parametreler

documents
list[dict]
Gerekli

Silinecek belgelerin listesi.

Döndürülenler

IndexingResult Listesi

Dönüş türü

Örnekler

Var olan belgeleri dizine silme


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

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

get_document

Azure arama dizininden anahtarına göre bir belge alın.

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

Parametreler

key
str
Gerekli

Belgenin alınacak birincil anahtar değeri

selected_fields
list[str]
Gerekli

sonuçlara eklenecek alanlara izin verme listesi

Döndürülenler

Belirtilen anahtarla eşleşen belge

Dönüş türü

Örnekler

Arama dizininden belirli bir belgeyi alın.


   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

Azure arama dizinindeki belge sayısını döndürür.

async get_document_count(**kwargs: Any) -> int

Döndürülenler

Dizindeki belge sayısı

Dönüş türü

int

index_documents

Toplu işlem olarak gerçekleştirilecek belge işlemlerini belirtin.

:Harekete geçiren RequestEntityTooLargeError

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

Parametreler

batch
IndexDocumentsBatch
Gerekli

Gerçekleştirilecek bir grup belge işlemi.

Döndürülenler

IndexingResult Listesi

Dönüş türü

merge_documents

içindeki belgeleri Azure arama dizinindeki mevcut belgelerle birleştirin.

Birleştir, varolan bir belgeyi belirtilen alanlarla güncelleştirir. Belge yoksa birleştirme başarısız olur. Birleştirmede belirttiğiniz herhangi bir alan belgede var olan alanın yerini alır. Bu, ilkel ve karmaşık tür koleksiyonları için de geçerlidir.

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

Parametreler

documents
list[dict]
Gerekli

Birleştirilecek belgelerin listesi.

Döndürülenler

IndexingResult Listesi

Dönüş türü

Örnekler

Alanları varolan belgelerle dizinle birleştirme


   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

içindeki belgeleri Azure arama dizinindeki mevcut belgelerle birleştirin veya henüz yoksa karşıya yükleyin.

Bu eylem, belirtilen anahtara sahip bir belge dizinde zaten varsa merge_documents gibi davranır. Belge yoksa, yeni bir belgeyle upload_documents gibi davranır.

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

Parametreler

documents
list[dict]
Gerekli

Birleştirilecek veya karşıya yüklenecek belgelerin listesi.

Döndürülenler

IndexingResult Listesi

Dönüş türü

Azure arama dizininde belgeleri arayın.

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]

Parametreler

search_text
str
Gerekli

Tam metin arama sorgusu ifadesi; Tüm belgelerle eşleştirmek için "*" kullanın veya bu parametreyi atlayın.

include_total_count
bool

Toplam sonuç sayısının getirilip getirilmeyeceğini belirten bir değer. Varsayılan değer false’tur. Bu değeri true olarak ayarlamak performansı etkileyebilir. Döndürülen sayın bir yaklaşık değer olduğunu unutmayın.

facets
list[str]

Arama sorgusuna uygulanacak model ifadelerinin listesi. Her model ifadesi, isteğe bağlı olarak virgülle ayrılmış ad:değer çiftleri listesi içeren bir alan adı içerir.

filter
str

Arama sorgusuna uygulanacak OData $filter ifadesi.

highlight_fields
str

İsabet vurguları için kullanılacak alan adlarının virgülle ayrılmış listesi. Yalnızca aranabilir alanlar isabet vurgulama için kullanılabilir.

highlight_post_tag
str

Vurgulananlara isabet etmek için eklenen bir dize etiketi. highlightPreTag ile ayarlanmalıdır. varsayılan değerdir.

highlight_pre_tag
str

Vurgulamalara basmak için önceden eklenen bir dize etiketi. highlightPostTag ile ayarlanmalıdır. varsayılan değerdir.

minimum_coverage
float

0 ile 100 arasında bir sayı, sorgunun başarılı olarak bildirilebilmesi için bir arama sorgusunun kapsamına alınması gereken dizinin yüzdesini belirtir. Bu parametre, yalnızca bir çoğaltması olan hizmetler için bile arama kullanılabilirliğini sağlamak için yararlı olabilir. Varsayılan değer 100'dür.

order_by
list[str]

Sonuçların sıralandığı OData $orderby ifadelerinin listesi. Her ifade bir alan adı veya geo.distance() veya search.score() işlevlerine yapılan bir çağrı olabilir. Her ifadeyi artanı belirtmek için asc, azalanı belirtmek için desc takip edebilir. Varsayılan değer artan düzendir. Bağlantılar, belgelerin eşleşme puanları tarafından kırılır. OrderBy belirtilmezse, varsayılan sıralama düzeni belge eşleştirme puanına göre azalan düzendedir. En fazla 32 $orderby yan tümcesi olabilir.

query_type
str veya QueryType

Arama sorgusunun söz dizimini belirten bir değer. Varsayılan değer 'basit'tir. Sorgunuz Lucene sorgu söz dizimini kullanıyorsa 'tam' kullanın. Olası değerler şunlardır: 'simple', 'full', "semantic".

scoring_parameters
list[str]

Ad-değerleri biçimi kullanılarak puanlama işlevlerinde (örneğin, referencePointParameter) kullanılacak parametre değerlerinin listesi. Örneğin, puanlama profili 'mylocation' adlı bir parametreye sahip bir işlev tanımlarsa, parametre dizesi "mylocation–122.2,44.8" (tırnak işaretleri olmadan) olur.

scoring_profile
str

Sonuçları sıralamak için eşleşen belgeler için eşleşme puanlarını değerlendirmek için bir puanlama profilinin adı.

search_fields
list[str]

Tam metin aramasının kapsamının ne olduğu alan adlarının listesi. Tam Lucene sorgusunda alanlı arama (fieldName:searchExpression) kullanılırken, her alanlı arama ifadesinin alan adları bu parametrede listelenen alan adlarından önceliklidir.

search_mode
str veya SearchMode

Belgeyi eşleşme olarak saymak için arama terimlerinin herhangi birinin veya tümünün eşleştirilip eşleştirilmeyeceğini belirten bir değer. Olası değerler şunlardır: 'any', 'all'.

query_answer
str veya QueryAnswerType

Bu parametre yalnızca sorgu türü 'semantik' ise geçerlidir. Ayarlanırsa, sorgu en yüksek dereceli belgelerdeki anahtar metinlerden ayıklanan yanıtları döndürür. Olası değerler şunlardır: "none", "extractive".

query_answer_count
int

Bu parametre yalnızca sorgu türü 'semantik' ve sorgu yanıtı 'ayıklayıcı' olduğunda geçerlidir. Döndürülen yanıt sayısını yapılandırıyor. Varsayılan sayı 1'dir.

query_answer_threshold
float

Bu parametre yalnızca sorgu türü 'semantik' ve sorgu yanıtı 'ayıklayıcı' olduğunda geçerlidir. Güvenilirlik eşiği sayısını yapılandırıyor. Varsayılan sayı 0,7'dir.

query_caption
str veya QueryCaptionType

Bu parametre yalnızca sorgu türü 'semantik' ise geçerlidir. Ayarlanırsa, sorgu en yüksek dereceli belgelerdeki anahtar metinlerden ayıklanan resim yazılarını döndürür. Varsayılan olarak 'Yok' değeri gösterilir. Olası değerler şunlardır: "none", "extractive".

query_caption_highlight_enabled
bool

Bu parametre yalnızca sorgu başlık 'ayıklayıcı' olarak ayarlandığında sorgu türü 'semantik' olduğunda geçerlidir. Vurgulamanın etkinleştirilip etkinleştirilmediğini belirler. Varsayılan değer 'true' olarak ayarlanır.

semantic_configuration_name
str

Semantik türündeki sorgular için belgeleri işlerken kullanılacak semantik yapılandırmanın adı.

select
list[str]

Alınacak alanların listesi. Belirtilmemişse, şemada alınabilir olarak işaretlenmiş tüm alanlar eklenir.

skip
int

Atlana arama sonuçlarının sayısı. Bu değer 100.000'den büyük olamaz. Belgeleri sırayla taramanız gerekiyorsa ancak bu sınırlama nedeniyle $skip kullanamıyorsanız, tamamen sıralı bir anahtarda $orderby kullanmayı ve bunun yerine aralık sorgusuyla $filter düşünün.

top
int

Alınacak arama sonuçlarının sayısı. Bu, arama sonuçlarının istemci tarafı disk belleğini uygulamak için $skip ile birlikte kullanılabilir. Sonuçlar sunucu tarafı sayfalama nedeniyle kesilirse, yanıt bir sonraki sonuç sayfası için başka bir Arama isteği göndermek için kullanılabilecek bir devamlılık belirteci içerir.

scoring_statistics
str veya ScoringStatistics

Daha tutarlı puanlama için puanlama istatistiklerini (belge sıklığı gibi) genel olarak mı yoksa daha düşük gecikme süresi için yerel olarak mı hesaplamak istediğimizi belirten bir değer. Varsayılan değer 'yerel'dir. Puanlamadan önce puanlama istatistiklerini genel olarak toplamak için 'genel' kullanın. Genel puanlama istatistiklerinin kullanılması, arama sorgularının gecikme süresini artırabilir. Olası değerler şunlardır: "local", "global".

session_id
str

Daha tutarlı sonuçlar elde etmeye yardımcı olabilecek, yapışkan bir oturum oluşturmak için kullanılacak bir değer. Aynı sessionId kullanıldığı sürece, aynı çoğaltma kümesini hedeflemek için en iyi çabayı gösterilecektir. Aynı sessionID değerlerini tekrar tekrar yeniden kullanmanın çoğaltmalar arasında isteklerin yük dengelemesini engelleyeceğine ve arama hizmetinin performansını olumsuz etkileyebileceğine dikkat edin. sessionId olarak kullanılan değer '_' karakteriyle başlayamaz.

semantic_error_mode
str veya SemanticErrorMode

Kullanıcının bir semantik çağrının tamamen başarısız olup olmayacağını (varsayılan / geçerli davranış) veya kısmi sonuçlar döndürmeyi seçmesine izin verir. Bilinen değerler şunlardır: "partial" ve "fail".

semantic_max_wait_in_milliseconds
int

Kullanıcının istek başarısız olmadan önce anlam zenginleştirme işleminin tamamlanması için gereken süreye göre bir üst sınır ayarlamasına izin verir.

vector_queries
list[VectorQuery]

Vektör ve karma arama sorguları için sorgu parametreleri.

vector_filter_mode
str veya VectorFilterMode

Vektör araması gerçekleştirilmeden önce veya sonra filtrelerin uygulanıp uygulanmayacağını belirler. Varsayılan değer 'preFilter'dır. Bilinen değerler şunlardır: "postFilter" ve "preFilter".

Döndürülenler

Belirtilen arama ölçütleriyle eşleşen belgelerin (dikte) listesi.

Dönüş türü

Örnekler

Arama sonucu modellerini alın.


   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

Azure arama dizininden arama önerisi sonuçları alın.

ve en fazla 100 karakterden oluşur. :p aram str suggester_name: Gerekli. Dizin tanımının parçası olan önerici koleksiyonunda belirtildiği gibi önericinin adı. :keyword str filtresi: Öneriler için göz önünde bulundurulan belgeleri filtreleyen bir OData ifadesi. :keyword bool use_fuzzy_matching: Öneriler için benzer öğe eşleştirmesinin kullanılıp kullanılmayacağını belirten değer

Sorgu. Varsayılan değer false’tur. True olarak ayarlandığında, arama metninde yerine başka bir karakter veya eksik karakter olsa bile sorgu terimleri bulur. Bu, bazı senaryolarda daha iyi bir deneyim sağlasa da, benzer öneriler sorguları daha yavaş olduğundan ve daha fazla kaynak tükettiği için performans maliyetine neden olur.

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]

Parametreler

highlight_post_tag
str

Vurgulananlara isabet etmek için eklenen bir dize etiketi. highlightPreTag ile ayarlanmalıdır. Belirtilmezse, önerilerin isabet vurgulanması devre dışı bırakılır.

highlight_pre_tag
str

Vurgulamalara basmak için önceden eklenen bir dize etiketi. highlightPostTag ile ayarlanmalıdır. Belirtilmezse, önerilerin isabet vurgulanması devre dışı bırakılır.

minimum_coverage
float

0 ile 100 arasında bir sayı, sorgunun başarılı olarak bildirilebilmesi için bir öneri sorgusunun kapsamına alınması gereken dizinin yüzdesini belirtir. Bu parametre, yalnızca bir çoğaltması olan hizmetler için bile arama kullanılabilirliğini sağlamak için yararlı olabilir. Varsayılan değer 80'dir.

order_by
list[str]

Sonuçların sıralandığı OData $orderby ifadelerinin listesi. Her ifade bir alan adı veya geo.distance() veya search.score() işlevlerine yapılan bir çağrı olabilir. Her ifadeyi artanı belirtmek için asc, azalanı belirtmek için desc takip edebilir. Varsayılan değer artan düzendir. Bağlantılar, belgelerin eşleşme puanları tarafından kırılır. $orderby belirtilmezse, varsayılan sıralama düzeni belge eşleştirme puanına göre azalan düzendedir. En fazla 32 $orderby yan tümcesi olabilir.

search_fields
list[str]

Belirtilen arama metni için aranacak alan adlarının listesi. Hedef alanlar belirtilen öneri oluşturucuya eklenmelidir.

select
list[str]

Alınacak alanların listesi. Belirtilmemişse, sonuçlara yalnızca anahtar alanı eklenir.

top
int

Alınacak öneri sayısı. Değer 1 ile 100 arasında bir sayı olmalıdır. Varsayılan değer 5'tir.

Döndürülenler

Belge listesi.

Dönüş türü

Örnekler

Arama önerileri alın.


   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

Belgeleri Azure arama dizinine yükleyin.

Karşıya yükleme eylemi, yeniyse belgenin eklendiği ve varsa güncelleştirildiği/değiştirileceği "upsert" eylemine benzer. Güncelleştirme durumunda tüm alanlar değiştirilir.

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

Parametreler

documents
list[dict]
Gerekli

Karşıya yüklenecek belgelerin listesi.

Döndürülenler

IndexingResult Listesi

Dönüş türü

Örnekler

Dizine yeni belgeler yükleme


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