SearchClient Sınıf

Mevcut bir 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 | TokenCredential, **kwargs: Any)

Parametreler

endpoint
str
Gerekli

Azure arama hizmetinin URL uç noktası

index_name
str
Gerekli

Bağlanacak dizinin adı

credential
AzureKeyCredential veya TokenCredential
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 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

Otomatik olarak tamamlanan terimleri oluştururken geçerli bağlamı kullanmak üzere zona almak için 'twoTerms' ve geçerli bağlamı kullanmak için 'oneTermWithContext'. 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 anahtar alanı dışında belirttiğiniz tüm alanlar 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ş 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ını alın.

karakter ve en fazla 100 karakter. :p aram str suggester_name: Gerekli. Dizin tanımının parçası olan önerici koleksiyonunda belirtilen önericinin adı. :keyword str filter: Ö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 bir 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, belge yeniyse 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

Otomatik olarak tamamlanan terimleri oluştururken geçerli bağlamı kullanmak üzere zona almak için 'twoTerms' ve geçerli bağlamı kullanmak için 'oneTermWithContext'. Olası değerler şunlardır: '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]

Parametreler

filter
str

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

use_fuzzy_matching
bool

Otomatik tamamlama sorgusu için benzer değer eşleştirmesinin kullanılıp kullanılmayacağını belirten bir 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 sunsa da belirsiz otomatik tamamlama sorguları daha yavaş olduğundan ve daha fazla kaynak tükettiği için performans maliyetine neden olur.

highlight_post_tag
str

Vurgulamalara 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ı listesi. Hedef alanlar belirtilen öneriye dahil edilmelidir.

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

SearchClient Oturumu kapatın.

close() -> None

delete_documents

Azure arama dizininden belgeleri silme

Delete, belirtilen belgeyi dizinden kaldırır. Silme işleminde anahtar alanı dışında belirttiğiniz tüm alanlar 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.

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 = search_client.delete_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.

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 alanların izin ver listesi

Döndürülenler

Belge, Azure arama dizininde depolandığı şekilde

Dönüş türü

Örnekler

Arama dizininden belirli bir belgeyi alın.


   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

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

get_document_count(**kwargs: Any) -> int

Döndürülenler

Dizindeki belge sayısı

Dönüş türü

int

index_documents

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

:Harekete geçiren RequestEntityTooLargeError

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.

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 = search_client.merge_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.

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.

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]

Parametreler

search_text
str
Gerekli

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

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 yaklaşık 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

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

highlight_post_tag
str

Vurgulamalara 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 çağrı olabilir. Her ifadenin ardından artanı belirtmek için asc ve azalanı belirtmek için desc kullanılabilir. Varsayılan değer artan düzendir. Bağlar, belgelerin maç skorlarıyla bozulur. 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 'full' kullanın. Olası değerler şunlardır: 'simple', 'full', "semantic".

scoring_parameters
list[str]

Ad-değerler biçimini kullanarak 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ına ekleyebileceğiniz alan adlarının listesi. Tam Lucene sorgusunda alanlı aramayı (fieldName:searchExpression) kullanı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 terimlerinden 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' olduğunda geçerlidir. Ayarlanırsa, sorgu en yüksek dereceli belgelerdeki anahtar geçitlerden 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ı' ise 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ı' ise 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' olduğunda geçerlidir. Ayarlanırsa, sorgu en yüksek dereceli belgelerde anahtar geçitlerden ayıklanan açıklamalı alt yazıları döndürür. Varsayılan olarak 'Yok' olarak ayarlanır. 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 olarak 'true' olarak ayarlanır.

semantic_configuration_name
str

Anlamsal türdeki sorgular için belgeler işlenirken kullanılacak semantik yapılandırmanın adı.

select
list[str]

Alınacak alanların listesi. Belirtilmezse, ş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, $orderby tamamen sıralı bir anahtarda kullanmayı ve bunun yerine bir 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ı sayfalamasını 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 'global' 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österme girişiminde bulunulacaktır. 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ı seçmesine (varsayılan / geçerli davranış) veya kısmi sonuçlar döndürmesine 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üre boyunca ü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önüş türü

Örnekler

Arama sonucu modellerini alın.


   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

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

karakter ve en fazla 100 karakter. :p aram str suggester_name: Gerekli. Dizin tanımının parçası olan önerici koleksiyonunda belirtilen önericinin adı. :keyword str filter: Ö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 bir 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.

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

Vurgulamalara isabet etmek için eklenen bir dize etiketi. highlightPreTag ile ayarlanmalıdır. Atlanırsa, ö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. Atlanırsa, ö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 çağrı olabilir. Her ifadenin ardından artanı belirtmek için asc veya azalanı belirtmek için desc kullanılabilir. Varsayılan değer artan düzendir. Bağlar, belgelerin maç skorlarıyla bozulur. Hiçbir $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 metninin aranacak alan adları listesi. Hedef alanlar belirtilen öneriye dahil edilmelidir.

select
list[str]

Alınacak alanların listesi. Belirtilmezse, 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 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

Belgeleri Azure arama dizinine yükleyin.

Karşıya yükleme eylemi, belge yeniyse 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.

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

Yeni belgeleri dizine yükleme


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