Bagikan melalui


SearchClient Kelas

Klien untuk berinteraksi dengan indeks pencarian Azure yang sudah ada.

Warisan
azure.search.documents._headers_mixin.HeadersMixin
SearchClient

Konstruktor

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

Parameter

endpoint
str
Diperlukan

Titik akhir URL layanan pencarian Azure

index_name
str
Diperlukan

Nama indeks yang akan disambungkan

credential
AzureKeyCredential atau TokenCredential
Diperlukan

Kredensial untuk mengotorisasi permintaan klien pencarian

api_version
str

Versi Search API yang akan digunakan untuk permintaan.

audience
str

mengatur Audiens yang akan digunakan untuk autentikasi dengan Azure Active Directory (AAD). Audiens tidak dipertimbangkan saat menggunakan kunci bersama. Jika audiens tidak disediakan, audiens cloud publik akan diasumsikan.

Contoh

Membuat SearchClient dengan kunci API.


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

   service_endpoint = os.environ["AZURE_SEARCH_SERVICE_ENDPOINT"]
   index_name = os.environ["AZURE_SEARCH_INDEX_NAME"]
   key = os.environ["AZURE_SEARCH_API_KEY"]

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

Metode

autocomplete

Dapatkan hasil penyelesaian otomatis pencarian dari indeks pencarian Azure.

koleksi yang menjadi bagian dari definisi indeks. :mode kata kunci: Menentukan mode untuk Lengkapi Otomatis. Defaultnya adalah 'oneTerm'. Penggunaan

'twoTerms' untuk mendapatkan shingle dan 'oneTermWithContext' untuk menggunakan konteks saat ini sambil menghasilkan istilah yang diselesaikan secara otomatis. Nilai yang mungkin termasuk: 'oneTerm', 'twoTerms', 'oneTermWithContext'.

close

SearchClient Tutup sesi.

delete_documents

Menghapus dokumen dari indeks pencarian Azure

Hapus menghapus dokumen yang ditentukan dari indeks. Bidang apa pun yang Anda tentukan dalam operasi penghapusan, selain bidang kunci, akan diabaikan. Jika Anda ingin menghapus bidang individual dari dokumen, gunakan merge_documents sebagai gantinya dan atur bidang secara eksplisit ke Tidak Ada.

Operasi penghapusan adalah tidak dapat diubah. Artinya, bahkan jika kunci dokumen tidak ada dalam indeks, mencoba operasi penghapusan dengan kunci tersebut akan menghasilkan kode status 200.

get_document

Ambil dokumen dari indeks pencarian Azure dengan kuncinya.

get_document_count

Mengembalikan jumlah dokumen dalam indeks pencarian Azure.

index_documents

Tentukan operasi dokumen yang akan dilakukan sebagai batch.

:Menimbulkan RequestEntityTooLargeError

merge_documents

Gabungkan dokumen ke dokumen yang sudah ada di indeks pencarian Azure.

Gabung memperbarui dokumen yang sudah ada dengan bidang yang ditentukan. Jika dokumen tidak ada, penggabungan akan gagal. Bidang apa pun yang Anda tentukan dalam gabungan akan menggantikan bidang yang sudah ada dalam dokumen. Ini juga berlaku untuk koleksi jenis primitif dan kompleks.

merge_or_upload_documents

Gabungkan dokumen ke dokumen yang sudah ada di indeks pencarian Azure, atau unggah jika belum ada.

Tindakan ini berakibat seperti merge_documents jika dokumen dengan kunci yang diberikan sudah ada dalam indeks. Jika dokumen tidak ada, dokumen berakilah seperti upload_documents dengan dokumen baru.

search

Cari indeks pencarian Azure untuk dokumen.

suggest

Dapatkan hasil saran pencarian dari indeks pencarian Azure.

karakter, dan tidak lebih dari 100 karakter. :p suggester_name str: Diperlukan. Nama pemberi saran seperti yang ditentukan dalam koleksi pemberi saran yang menjadi bagian dari definisi indeks. :kata kunci filter str: Ekspresi OData yang memfilter dokumen yang dipertimbangkan untuk saran. :keyword bool use_fuzzy_matching: Nilai yang menunjukkan apakah akan menggunakan pencocokan fuzzy untuk saran

Query. Defaultnya adalah false. Saat diatur ke true, kueri akan menemukan istilah meskipun ada karakter yang diganti atau hilang dalam teks pencarian. Meskipun ini memberikan pengalaman yang lebih baik dalam beberapa skenario, itu datang dengan biaya performa karena kueri saran fuzzy lebih lambat dan mengonsumsi lebih banyak sumber daya.

upload_documents

Unggah dokumen ke indeks pencarian Azure.

Tindakan unggahan mirip dengan "upsert" di mana dokumen akan dimasukkan jika baru dan diperbarui/diganti jika ada. Semua bidang diganti dalam kasus pembaruan.

autocomplete

Dapatkan hasil penyelesaian otomatis pencarian dari indeks pencarian Azure.

koleksi yang menjadi bagian dari definisi indeks. :mode kata kunci: Menentukan mode untuk Lengkapi Otomatis. Defaultnya adalah 'oneTerm'. Penggunaan

'twoTerms' untuk mendapatkan shingle dan 'oneTermWithContext' untuk menggunakan konteks saat ini sambil menghasilkan istilah yang diselesaikan secara otomatis. Nilai yang mungkin termasuk: '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]

Parameter

filter
str

Ekspresi OData yang memfilter dokumen yang digunakan untuk menghasilkan istilah lengkap untuk hasil Lengkapi Otomatis.

use_fuzzy_matching
bool

Nilai yang menunjukkan apakah akan menggunakan pencocokan fuzzy untuk kueri lengkapi otomatis. Defaultnya adalah false. Saat diatur ke true, kueri akan menemukan istilah meskipun ada karakter yang diganti atau hilang dalam teks pencarian. Meskipun ini memberikan pengalaman yang lebih baik dalam beberapa skenario, itu datang dengan biaya performa karena kueri lengkapi otomatis fuzzy lebih lambat dan mengonsumsi lebih banyak sumber daya.

highlight_post_tag
str

Tag string yang ditambahkan untuk menekan sorotan. Harus diatur dengan highlightPreTag. Jika dihilangkan, penyorotan klik dinonaktifkan.

highlight_pre_tag
str

Tag string yang telah ditambahkan sebelumnya untuk menekan sorotan. Harus diatur dengan highlightPostTag. Jika dihilangkan, penyorotan klik dinonaktifkan.

minimum_coverage
float

Angka antara 0 dan 100 menunjukkan persentase indeks yang harus dicakup oleh kueri lengkapi otomatis agar kueri dilaporkan berhasil. Parameter ini dapat berguna untuk memastikan ketersediaan pencarian bahkan untuk layanan hanya dengan satu replika. Defaultnya adalah 80.

search_fields
list[str]

Daftar nama bidang yang perlu dipertimbangkan saat mengkueri istilah yang diselesaikan secara otomatis. Bidang target harus disertakan dalam pemberi saran yang ditentukan.

top
int

Jumlah istilah yang diselesaikan secara otomatis untuk diambil. Ini harus berupa nilai antara 1 dan 100. Defaultnya adalah 5.

Tipe hasil

Contoh

Mendapatkan penyelesaian otomatis.


   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 Tutup sesi.

close() -> None

delete_documents

Menghapus dokumen dari indeks pencarian Azure

Hapus menghapus dokumen yang ditentukan dari indeks. Bidang apa pun yang Anda tentukan dalam operasi penghapusan, selain bidang kunci, akan diabaikan. Jika Anda ingin menghapus bidang individual dari dokumen, gunakan merge_documents sebagai gantinya dan atur bidang secara eksplisit ke Tidak Ada.

Operasi penghapusan adalah tidak dapat diubah. Artinya, bahkan jika kunci dokumen tidak ada dalam indeks, mencoba operasi penghapusan dengan kunci tersebut akan menghasilkan kode status 200.

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

Parameter

documents
list[dict]
Diperlukan

Daftar dokumen yang akan dihapus.

Mengembalikan

Daftar IndexingResult

Tipe hasil

Contoh

Menghapus dokumen yang sudah ada ke indeks


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

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

get_document

Ambil dokumen dari indeks pencarian Azure dengan kuncinya.

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

Parameter

key
str
Diperlukan

Nilai kunci primer untuk dokumen yang akan diambil

selected_fields
list[str]
Diperlukan

daftar bidang yang diizinkan untuk disertakan dalam hasil

Mengembalikan

Dokumen seperti yang disimpan dalam indeks pencarian Azure

Tipe hasil

Contoh

Dapatkan dokumen tertentu dari indeks pencarian.


   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

Mengembalikan jumlah dokumen dalam indeks pencarian Azure.

get_document_count(**kwargs: Any) -> int

Mengembalikan

Jumlah dokumen dalam indeks

Tipe hasil

int

index_documents

Tentukan operasi dokumen yang akan dilakukan sebagai batch.

:Menimbulkan RequestEntityTooLargeError

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

Parameter

batch
IndexDocumentsBatch
Diperlukan

Batch operasi dokumen yang akan dilakukan.

Mengembalikan

Daftar IndexingResult

Tipe hasil

merge_documents

Gabungkan dokumen ke dokumen yang sudah ada di indeks pencarian Azure.

Gabung memperbarui dokumen yang sudah ada dengan bidang yang ditentukan. Jika dokumen tidak ada, penggabungan akan gagal. Bidang apa pun yang Anda tentukan dalam gabungan akan menggantikan bidang yang sudah ada dalam dokumen. Ini juga berlaku untuk koleksi jenis primitif dan kompleks.

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

Parameter

documents
list[dict]
Diperlukan

Daftar dokumen yang akan digabungkan.

Mengembalikan

Daftar IndexingResult

Tipe hasil

Contoh

Menggabungkan bidang ke dalam dokumen yang sudah ada ke indeks


   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

Gabungkan dokumen ke dokumen yang sudah ada di indeks pencarian Azure, atau unggah jika belum ada.

Tindakan ini berakibat seperti merge_documents jika dokumen dengan kunci yang diberikan sudah ada dalam indeks. Jika dokumen tidak ada, dokumen berakilah seperti upload_documents dengan dokumen baru.

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

Parameter

documents
list[dict]
Diperlukan

Daftar dokumen yang akan digabungkan atau diunggah.

Mengembalikan

Daftar IndexingResult

Tipe hasil

Cari indeks pencarian Azure untuk dokumen.

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]

Parameter

search_text
str
Diperlukan

Ekspresi kueri pencarian teks lengkap; Gunakan "*" atau hilangkan parameter ini agar sesuai dengan semua dokumen.

include_total_count
bool

Nilai yang menentukan apakah akan mengambil jumlah total hasil. Defaultnya adalah false. Mengatur nilai ini ke true mungkin memiliki dampak performa. Perhatikan bahwa jumlah yang dikembalikan adalah perkiraan.

facets
list[str]

Daftar ekspresi faset yang akan diterapkan ke kueri pencarian. Setiap ekspresi faset berisi nama bidang, secara opsional diikuti dengan daftar pasangan nama:nilai yang dipisahkan koma.

filter
str

Ekspresi $filter OData untuk diterapkan ke kueri pencarian.

highlight_fields
str

Daftar nama bidang yang dipisahkan koma yang akan digunakan untuk sorotan temuan. Hanya bidang yang dapat dicari yang dapat digunakan untuk penyorotan klik.

highlight_post_tag
str

Tag string yang ditambahkan untuk menekan sorotan. Harus diatur dengan highlightPreTag. Defaultnya adalah .

highlight_pre_tag
str

Tag string yang telah ditambahkan sebelumnya untuk menekan sorotan. Harus diatur dengan highlightPostTag. Defaultnya adalah .

minimum_coverage
float

Angka antara 0 dan 100 menunjukkan persentase indeks yang harus dicakup oleh kueri pencarian agar kueri dilaporkan sebagai keberhasilan. Parameter ini dapat berguna untuk memastikan ketersediaan pencarian bahkan untuk layanan hanya dengan satu replika. Nilai defaultnya adalah 100.

order_by
list[str]

Daftar ekspresi $orderby OData untuk mengurutkan hasilnya. Setiap ekspresi dapat berupa nama bidang atau panggilan ke fungsi geo.distance() atau search.score(). Setiap ekspresi dapat diikuti oleh asc untuk menunjukkan naik, dan turun untuk menunjukkan turun. Defaultnya adalah urutan naik. Ikatan akan dipecah oleh skor kecocokan dokumen. Jika tidak ada OrderBy yang ditentukan, urutan pengurutan default turun menurut skor kecocokan dokumen. Paling banyak ada 32 klausa $orderby.

query_type
str atau QueryType

Nilai yang menentukan sintaks kueri pencarian. Defaultnya adalah 'sederhana'. Gunakan 'penuh' jika kueri Anda menggunakan sintaks kueri Lucene. Nilai yang mungkin termasuk: 'sederhana', 'penuh', "semantik".

scoring_parameters
list[str]

Daftar nilai parameter yang akan digunakan dalam fungsi penilaian (misalnya, referencePointParameter) menggunakan format nama-nilai. Misalnya, jika profil penilaian mendefinisikan fungsi dengan parameter yang disebut 'mylocation' string parameter adalah "mylocation–122.2,44.8" (tanpa tanda kutip).

scoring_profile
str

Nama profil penilaian untuk mengevaluasi skor kecocokan untuk dokumen yang cocok untuk mengurutkan hasilnya.

search_fields
list[str]

Daftar nama bidang yang akan mencakup pencarian teks lengkap. Saat menggunakan pencarian bidang (fieldName:searchExpression) dalam kueri Lucene lengkap, nama bidang dari setiap ekspresi pencarian bidang lebih diutamakan daripada nama bidang apa pun yang tercantum dalam parameter ini.

search_mode
str atau SearchMode

Nilai yang menentukan apakah salah satu atau semua istilah pencarian harus dicocokkan untuk menghitung dokumen sebagai kecocokan. Nilai yang mungkin termasuk: 'any', 'all'.

query_answer
str atau QueryAnswerType

Parameter ini hanya valid jika jenis kueri adalah 'semantik'. Jika diatur, kueri mengembalikan jawaban yang diekstrak dari bagian kunci dalam dokumen berperingkat tertinggi. Nilai yang mungkin termasuk: "none", "extractive".

query_answer_count
int

Parameter ini hanya valid jika jenis kueri adalah 'semantik' dan jawaban kueri adalah 'ekstraktif'. Mengonfigurasi jumlah jawaban yang dikembalikan. Jumlah default adalah 1.

query_answer_threshold
float

Parameter ini hanya valid jika jenis kueri adalah 'semantik' dan jawaban kueri adalah 'ekstraktif'. Mengonfigurasi jumlah ambang batas keyakinan. Jumlah default adalah 0,7.

query_caption
str atau QueryCaptionType

Parameter ini hanya valid jika jenis kueri adalah 'semantik'. Jika diatur, kueri mengembalikan keterangan yang diekstrak dari bagian kunci dalam dokumen berperingkat tertinggi. Default ke 'Tidak Ada'. Nilai yang mungkin termasuk: "none", "extractive".

query_caption_highlight_enabled
bool

Parameter ini hanya valid jika jenis kueri 'semantik' saat kueri caption diatur ke 'ekstraktif'. Menentukan apakah penyorotan diaktifkan. Default ke 'true'.

semantic_configuration_name
str

Nama konfigurasi semantik yang akan digunakan saat memproses dokumen untuk kueri semantik jenis.

select
list[str]

Daftar bidang yang akan diambil. Jika tidak ditentukan, semua bidang yang ditandai sebagai dapat diambil dalam skema disertakan.

skip
int

Jumlah hasil pencarian yang akan dilewati. Nilai ini tidak boleh lebih besar dari 100.000. Jika Anda perlu memindai dokumen secara berurutan, tetapi tidak dapat menggunakan $skip karena batasan ini, pertimbangkan untuk menggunakan $orderby pada kunci yang benar-benar diurutkan dan $filter dengan kueri rentang sebagai gantinya.

top
int

Jumlah hasil pencarian yang akan diambil. Ini dapat digunakan bersama dengan $skip untuk mengimplementasikan halaman sisi klien dari hasil pencarian. Jika hasil dipotong karena halaman sisi server, respons akan menyertakan token kelanjutan yang dapat digunakan untuk mengeluarkan permintaan Pencarian lain untuk halaman hasil berikutnya.

scoring_statistics
str atau ScoringStatistics

Nilai yang menentukan apakah kita ingin menghitung statistik penilaian (seperti frekuensi dokumen) secara global untuk penilaian yang lebih konsisten, atau secara lokal, untuk latensi yang lebih rendah. Defaultnya adalah 'lokal'. Gunakan 'global' untuk mengagregasi statistik penilaian secara global sebelum mencetak skor. Menggunakan statistik penilaian global dapat meningkatkan latensi kueri pencarian. Nilai yang mungkin termasuk: "lokal", "global".

session_id
str

Nilai yang akan digunakan untuk membuat sesi lengket, yang dapat membantu mendapatkan hasil yang lebih konsisten. Selama sessionId yang sama digunakan, upaya terbaik akan dilakukan untuk menargetkan set replika yang sama. Waspadalah bahwa menggunakan kembali nilai sessionID yang sama berulang kali dapat mengganggu penyeimbangan beban permintaan di seluruh replika dan berdampak buruk pada performa layanan pencarian. Nilai yang digunakan sebagai sessionId tidak dapat dimulai dengan karakter '_'.

semantic_error_mode
str atau SemanticErrorMode

Memungkinkan pengguna untuk memilih apakah panggilan semantik harus gagal sepenuhnya (perilaku default/ saat ini), atau mengembalikan hasil parsial. Nilai yang diketahui adalah: "parsial" dan "fail".

semantic_max_wait_in_milliseconds
int

Memungkinkan pengguna untuk mengatur batas atas pada jumlah waktu yang diperlukan agar pengayaan semantik selesai diproses sebelum permintaan gagal.

vector_queries
list[VectorQuery]

Parameter kueri untuk kueri pencarian vektor dan hibrid.

vector_filter_mode
str atau VectorFilterMode

Menentukan apakah filter diterapkan sebelum atau sesudah pencarian vektor dilakukan atau tidak. Defaultnya adalah 'preFilter'. Nilai yang diketahui adalah: "postFilter" dan "preFilter".

Tipe hasil

Contoh

Mendapatkan faset hasil pencarian.


   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

Dapatkan hasil saran pencarian dari indeks pencarian Azure.

karakter, dan tidak lebih dari 100 karakter. :p suggester_name str: Diperlukan. Nama pemberi saran seperti yang ditentukan dalam koleksi pemberi saran yang menjadi bagian dari definisi indeks. :kata kunci filter str: Ekspresi OData yang memfilter dokumen yang dipertimbangkan untuk saran. :keyword bool use_fuzzy_matching: Nilai yang menunjukkan apakah akan menggunakan pencocokan fuzzy untuk saran

Query. Defaultnya adalah false. Saat diatur ke true, kueri akan menemukan istilah meskipun ada karakter yang diganti atau hilang dalam teks pencarian. Meskipun ini memberikan pengalaman yang lebih baik dalam beberapa skenario, itu datang dengan biaya performa karena kueri saran fuzzy lebih lambat dan mengonsumsi lebih banyak sumber daya.

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]

Parameter

highlight_post_tag
str

Tag string yang ditambahkan untuk menekan sorotan. Harus diatur dengan highlightPreTag. Jika dihilangkan, penyorotan klik saran dinonaktifkan.

highlight_pre_tag
str

Tag string yang telah ditambahkan sebelumnya untuk menekan sorotan. Harus diatur dengan highlightPostTag. Jika dihilangkan, penyorotan klik saran dinonaktifkan.

minimum_coverage
float

Angka antara 0 dan 100 yang menunjukkan persentase indeks yang harus dicakup oleh kueri saran agar kueri dilaporkan berhasil. Parameter ini dapat berguna untuk memastikan ketersediaan pencarian bahkan untuk layanan hanya dengan satu replika. Defaultnya adalah 80.

order_by
list[str]

Daftar ekspresi $orderby OData untuk mengurutkan hasilnya. Setiap ekspresi dapat berupa nama bidang atau panggilan ke fungsi geo.distance() atau search.score(). Setiap ekspresi dapat diikuti oleh asc untuk menunjukkan naik, atau turun untuk menunjukkan menurun. Defaultnya adalah urutan naik. Ikatan akan dipecah oleh skor kecocokan dokumen. Jika tidak ada $orderby yang ditentukan, urutan pengurutan default turun menurut skor kecocokan dokumen. Paling banyak ada 32 klausa $orderby.

search_fields
list[str]

Daftar nama bidang untuk mencari teks pencarian yang ditentukan. Bidang target harus disertakan dalam pemberi saran yang ditentukan.

select
list[str]

Daftar bidang yang akan diambil. Jika tidak ditentukan, hanya bidang kunci yang akan disertakan dalam hasil.

top
int

Jumlah saran yang akan diambil. Nilai harus berupa angka antara 1 dan 100. Defaultnya adalah 5.

Mengembalikan

Daftar dokumen.

Tipe hasil

Contoh

Dapatkan saran pencarian.


   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

Unggah dokumen ke indeks pencarian Azure.

Tindakan unggahan mirip dengan "upsert" di mana dokumen akan dimasukkan jika baru dan diperbarui/diganti jika ada. Semua bidang diganti dalam kasus pembaruan.

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

Parameter

documents
list[dict]
Diperlukan

Daftar dokumen yang akan diunggah.

Mengembalikan

Daftar IndexingResult

Tipe hasil

Contoh

Mengunggah dokumen baru ke indeks


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