Membuat atau Memperbarui Pengindeks (Pratinjau REST API)
Versi API: 2021-04-30-Preview, 2020-06-30-Preview
Penting
Pratinjau 2021-04-30 menambahkan dukungan identitas terkelola untuk cache pengayaan dan kunci enkripsi:
- "storageConnectionString" menerima ID Sumber Daya untuk koneksi identitas terkelola yang ditetapkan sistem ke Azure Storage. Properti ini berada di bawah "cache". Identitas terkelola yang ditetapkan pengguna tidak didukung.
- "identitas" menerima identitas terkelola yang ditetapkan pengguna.
Pratinjau 06-06-2020 menambahkan:
- "cache", digunakan untuk cache dan menggunakan kembali konten yang diperkaya yang dibuat oleh set keterampilan.
Pengindeks mengotomatiskan pengindeksan dari sumber data yang didukung dengan menyambungkan ke sumber data yang telah ditentukan sebelumnya, mengambil dan membuat serial data, dan meneruskannya ke layanan pencarian untuk penyerapan data. Untuk pengayaan AI gambar dan teks yang tidak terstruktur, pengindeks juga dapat menerima set keterampilan yang menambahkan pemrosesan gambar dan bahasa alami.
Anda dapat menggunakan POST atau PUT pada permintaan buat. Untuk salah satu, isi permintaan menyediakan definisi objek.
POST https://[service name].search.windows.net/indexers?api-version=[api-version]
Content-Type: application/json
api-key: [admin key]
Untuk permintaan pembaruan, gunakan PUT dan tentukan nama pengindeks pada URI.
PUT https://[service name].search.windows.net/indexers/[indexer name]?api-version=[api-version]
Content-Type: application/json
api-key: [admin key]
HTTPS diperlukan untuk semua permintaan layanan. Jika pengindeks tidak ada, pengindeks akan dibuat. Jika sudah ada, itu diperbarui ke definisi baru tetapi Anda harus mengeluarkan permintaan Jalankan Pengindeks jika Anda ingin eksekusi pengindeks.
Membuat pengindeks menambahkannya ke layanan pencarian Anda dan menjalankannya. Jika permintaan berhasil, indeks akan diisi dengan konten yang dapat dicari dari sumber data.
Memperbarui pengindeks tidak menjalankannya secara otomatis, tetapi bergantung pada modifikasi Anda dan sumber data terkait, reset dan eksekusi ulang mungkin diperlukan. Saat memperbarui pengindeks yang ada, seluruh definisi diganti dengan konten isi permintaan. Secara umum, pola terbaik yang digunakan untuk pembaruan adalah mengambil definisi pengindeks dengan GET, memodifikasinya, lalu memperbaruinya dengan PUT.
Konfigurasi pengindeks bervariasi berdasarkan jenis sumber data. Untuk panduan khusus platform data tentang membuat pengindeks, mulailah dengan gambaran umum Pengindeks, yang mencakup daftar lengkap artikel terkait.
Catatan
Jumlah maksimum pengindeks yang dapat Anda buat bervariasi menurut tingkat harga. Untuk informasi selengkapnya, lihat Batas layanan untuk Azure Cognitive Search.
Parameter URI
| Parameter | Deskripsi |
|---|---|
| nama layanan | Wajib diisi. Atur ini ke nama unik yang ditentukan pengguna dari layanan pencarian Anda. |
| nama pengindeks | Diperlukan pada URI jika menggunakan PUT. Nama harus huruf kecil, dimulai dengan huruf atau angka, tidak memiliki garis miring atau titik, dan kurang dari 128 karakter. Setelah memulai nama dengan huruf atau angka, sisa nama dapat menyertakan huruf, angka, dan tanda hubung apa pun, selama tanda hubung tidak berturut-turut. |
| versi-api | Wajib diisi. Versi saat ini adalah api-version=2021-04-30-Preview. Lihat versi API untuk versi lainnya. |
Judul Permintaan
Tabel berikut ini menjelaskan header permintaan yang diperlukan dan opsional.
| Bidang | Deskripsi |
|---|---|
| Jenis-Konten | Wajib diisi. Atur titik akhir ini ke application/json |
| api-key | Wajib diisi. api-key digunakan untuk mengautentikasi permintaan ke layanan Pencarian Anda. Ini adalah nilai string, unik untuk layanan Anda. Membuat permintaan harus menyertakan header yang api-key diatur ke kunci admin Anda (dibandingkan dengan kunci kueri). Anda dapat menemukan kunci API di dasbor layanan pencarian di portal Azure. |
Isi Permintaan
Sumber data, indeks, dan set keterampilan adalah bagian dari definisi pengindeks, tetapi masing-masing merupakan komponen independen yang dapat digunakan dalam kombinasi yang berbeda. Misalnya, Anda dapat menggunakan sumber data yang sama dengan beberapa pengindeks, atau indeks yang sama dengan beberapa pengindeks, atau beberapa pengindeks yang menulis ke satu indeks.
JSON berikut adalah representasi tingkat tinggi dari bagian utama definisi.
{
"name" : (optional on PUT; required on POST) "Name of the indexer",
"description" : (optional) "Anything you want, or nothing at all",
"dataSourceName" : (required) "Name of an existing data source",
"targetIndexName" : (required) "Name of an existing index",
"skillsetName" : (required for AI enrichment) "Name of an existing skillset",
"cache": { ... },
"schedule" : (optional but runs once immediately if unspecified) { ... },
"parameters" : (optional) {
"batchSize": null,
"maxFailedItems": 0,
"maxFailedItemsPerBatch": 0,
"base64EncodeKeys": null,
"configuration": { }
},
"fieldMappings" : (optional) { ... },
"outputFieldMappings" : (required for AI enrichment) { ... },
"encryptionKey":(optional) { },
"disabled" : (optional) Boolean value indicating whether the indexer is disabled. False by default.
}
Permintaan berisi properti berikut:
| Properti | Deskripsi |
|---|---|
| nama | Wajib diisi. Nama harus huruf kecil, dimulai dengan huruf atau angka, tidak memiliki garis miring atau titik, dan kurang dari 128 karakter. Setelah memulai nama dengan huruf atau angka, sisa nama dapat menyertakan huruf, angka, dan tanda hubung apa pun, selama tanda hubung tidak berturut-turut. |
| deskripsi | Opsional. Deskripsi pengindeks. |
| dataSourceName | Wajib diisi. Nama sumber data yang ada yang menyediakan informasi koneksi dan properti lainnya. |
| targetIndexName | Wajib diisi. Nama indeks yang sudah ada. |
| skillsetName | Diperlukan untuk pengayaan AI. Nama set keterampilan yang ada. |
| Cache | Opsional untuk pengayaan AI, memungkinkan penggunaan kembali dokumen yang tidak berubah. |
| jadwal | Opsional, tetapi berjalan sekali segera jika tidak ditentukan. |
| parameter | Opsional. Properti untuk memodifikasi perilaku runtime. |
| fieldMappings | Opsional. Digunakan saat bidang sumber dan tujuan memiliki nama yang berbeda. |
| outputFieldMappings | Diperlukan untuk pengayaan AI. Peta output dari set keterampilan ke indeks atau proyeksi. |
| encryptionKey | Opsional. Digunakan untuk mengenkripsi data pengindeks saat tidak aktif dengan kunci Anda sendiri, dikelola di Key Vault Azure Anda. Untuk mempelajari selengkapnya, lihat enkripsi Azure Cognitive Search menggunakan kunci yang dikelola pelanggan di Azure Key Vault. |
| dinonaktifkan | Opsional. Nilai Boolean yang menunjukkan apakah pengindeks dinonaktifkan. Salah secara default. |
Respons
201 Dibuat untuk permintaan yang berhasil.
Contoh
Contoh: Pengindeks berbasis teks dengan jadwal dan parameter
Contoh ini membuat pengindeks yang menyalin data dari tabel yang dirujuk oleh order-sds sumber data ke orders-idx indeks pada jadwal yang dimulai pada 1 Januari 2022 UTC dan berjalan per jam. Setiap pemanggilan pengindeks akan berhasil jika tidak lebih dari 5 item gagal diindeks di setiap batch, dan tidak lebih dari 10 item gagal diindeks secara total. Pemetaan bidang menyediakan jalur data saat nama dan jenis bidang tidak cocok.
{
"name" : "myindexer",
"description" : "a cool indexer",
"dataSourceName" : "orders-ds",
"targetIndexName" : "orders-idx",
"fieldMappings" : [
{
"sourceFieldName" : "content",
"targetFieldName" : "sourceContent"
}
],
"schedule" : { "interval" : "PT1H", "startTime" : "2022-01-01T00:00:00Z" },
"parameters" : { "maxFailedItems" : 10, "maxFailedItemsPerBatch" : 5 }
}
Contoh: Pengindeks skillset
Contoh ini menunjukkan pengayaan AI, yang ditunjukkan oleh referensi ke set keterampilan dan outputFieldMappings yang memetakan output keterampilan ke bidang dalam indeks pencarian. Set keterampilan adalah sumber daya tingkat tinggi, didefinisikan secara terpisah.
Baru dalam pratinjau ini dan hanya berlaku untuk set keterampilan, Anda dapat menentukan properti cache untuk menggunakan kembali dokumen yang tidak terpengaruh oleh perubahan dalam definisi set keterampilan Anda.
{
"name":"demo-indexer",
"dataSourceName" : "demo-data",
"targetIndexName" : "demo-index",
"skillsetName" : "demo-skillset",
"cache" :
{
"storageConnectionString" : "DefaultEndpointsProtocol=https;AccountName=<storage-account-name>;AccountKey=<storage-account-key>;EndpointSuffix=core.windows.net",
"enableReprocessing": true
},
"fieldMappings" : [ ],
"outputFieldMappings" :
[
{
"sourceFieldName" : "/document/organizations",
"targetFieldName" : "organizations"
},
],
"parameters":
{
"maxFailedItems":-1,
"configuration":
{
"dataToExtract": "contentAndMetadata",
"imageAction": "generateNormalizedImages"
}
}
}
Contoh: Cache pengayaan dengan koneksi identitas terkelola
Contoh ini mengilustrasikan format string koneksi saat menggunakan Azure Active Directory untuk autentikasi. Layanan pencarian harus dikonfigurasi untuk menggunakan identitas terkelola. Identitas harus memiliki izin "Storage Kontributor Data Blob" sehingga dapat menulis ke cache. string koneksi adalah ID Sumber Daya unik dari akun penyimpanan Anda, dan harus menyertakan kontainer yang digunakan untuk menyimpan pengayaan cache.
{
"name":"demo-indexer",
"dataSourceName" : "demodata-ds",
"targetIndexName" : "demo-index",
"skillsetName" : "demo-skillset",
"cache" :
{
"storageConnectionString" : "ResourceId=/subscriptions/<subscription-ID>/resourceGroups/<resource-group-name>/providers/Microsoft.Storage/storageAccounts/<storage-account-name>/<container-name>;",
"enableReprocessing": true
},
"fieldMappings" : [ ],
"outputFieldMappings" : [ ],
"parameters": { }
}
Definisi
| Tautan | Deskripsi |
|---|---|
| Cache | Mengonfigurasi penembolokan untuk pengayaan AI dan eksekusi set keterampilan. |
| encryptionKey | Mengonfigurasi koneksi ke Azure Key Vault untuk enkripsi yang dikelola pelanggan. |
| fieldMappings | Pemetaan bidang sumber-ke-tujuan untuk bidang yang tidak cocok dengan nama dan jenis. |
| outputFieldMappings | Peta simpul dalam dokumen yang diperkaya ke bidang dalam indeks. Diperlukan jika Anda menggunakan set keterampilan. |
| parameter | Mengonfigurasi pengindeks. Parameter termasuk parameter umum dan parameter khusus sumber. |
| jadwal | Menentukan interval dan frekuensi eksekusi pengindeks terjadwal. |
cache (pratinjau)
Pengindeksan inkremental adalah kemampuan untuk menggunakan kembali dokumen yang diperkaya dalam cache saat memproses set keterampilan. Skenario yang paling umum adalah penggunaan kembali OCR atau analisis gambar file gambar, yang dapat mahal dan memakan waktu untuk diproses.
"cache" :
{
"storageConnectionString" : "<YOUR-STORAGE-ACCOUNT-CONNECTION-STRING>",
"enableReprocessing": true
}
Objek cache memiliki properti yang diperlukan dan opsional.
| Properti | Deskripsi |
|---|---|
| storageConnectionString | Wajib diisi. Menentukan akun penyimpanan yang digunakan untuk menyimpan hasil perantara. Dengan menggunakan akun yang Anda berikan, layanan pencarian akan membuat kontainer blob yang diawali dan ms-az-search-indexercache dilengkapi dengan GUID unik untuk pengindeks. Ini harus diatur ke akses penuh string koneksi yang menyertakan kunci, atau ID Sumber Daya unik akun penyimpanan Anda untuk permintaan yang diautentikasi menggunakan Azure AD. Untuk mengautentikasi melalui Azure AD, layanan pencarian harus dikonfigurasi untuk menggunakan identitas terkelola, dan identitas tersebut harus memiliki izin "Storage Kontributor Data Blob". |
| enableReprocessing | Opsional. Properti Boolean (true secara default) untuk mengontrol pemrosesan atas dokumen masuk yang sudah diwakili dalam cache. Ketika true (default), dokumen yang sudah ada di cache diolah ulang saat Anda menjalankan ulang pengindeks, dengan asumsi pembaruan keterampilan Anda memengaruhi dokumen tersebut. Ketika false, dokumen yang ada tidak diolah ulang, secara efektif memprioritaskan konten baru yang masuk daripada konten yang ada. Anda hanya boleh mengatur enableReprocessing ke false secara sementara. Untuk memastikan konsistensi di seluruh korpus, enableReprocessing harus true di sebagian besar waktu, memastikan bahwa semua dokumen, baik baru maupun yang sudah ada, valid sesuai definisi skillset saat ini. |
| ID | Baca-saja. Dihasilkan setelah cache dibuat. ID adalah pengidentifikasi kontainer dalam akun penyimpanan yang akan digunakan sebagai cache untuk pengindeks ini. Cache ini akan unik untuk pengindeks ini dan jika pengindeks dihapus dan dibuat ulang dengan nama yang sama, ID akan diregenerasi. ID tidak dapat diatur, selalu dihasilkan oleh layanan. |
jadwal
Pengindeks dapat secara opsional menentukan jadwal. Tanpa jadwal, pengindeks segera berjalan saat Anda mengirim permintaan: menyambungkan, merayapi, dan mengindeks sumber data. Untuk beberapa skenario termasuk pekerjaan pengindeksan yang berjalan lama, jadwal digunakan untuk memperpanjang jendela pemrosesan melebihi maksimum 24 jam. Jika jadwal ada, pengindeks berjalan secara berkala sesuai jadwal. Penjadwal dibangun; Anda tidak dapat menggunakan penjadwal eksternal. Jadwal memiliki atribut berikut:
interval: Diperlukan. Nilai durasi yang menentukan interval atau periode untuk pengindeks berjalan. Interval terkecil yang diizinkan adalah lima menit; yang terpanjang adalah satu hari. Ini harus diformat sebagai nilai “dayTimeDuration” XSD (subset terbatas dari nilai durasi ISO 8601). Pola untuk ini adalah:
"P[nD][T[nH][nM]]".Contoh:PT15Muntuk setiap 15 menit,PT2Huntuk setiap 2 jam.startTime: Opsional. Tanggalwaktu UTC ketika pengindeks harus mulai berjalan.
Catatan
Jika pengindeks diatur ke jadwal tertentu tetapi berulang kali gagal pada dokumen yang sama berulang-ulang setiap kali dijalankan, pengindeks akan mulai berjalan pada interval yang lebih jarang (hingga maksimum setidaknya sekali dalam 24 jam) sampai berhasil membuat kemajuan lagi. Jika Anda yakin telah memperbaiki masalah apa pun yang menyebabkan pengindeks terjebak pada titik tertentu, Anda dapat melakukan proses sesuai permintaan pengindeks, dan jika berhasil membuat kemajuan, pengindeks akan kembali ke interval jadwal yang ditetapkan lagi.
parameter
Pengindeks dapat secara opsional mengambil parameter konfigurasi yang memodifikasi perilaku runtime. Parameter konfigurasi dibatasi koma pada permintaan pengindeks.
{
"name" : "my-blob-indexer-for-cognitive-search",
... other indexer properties
"parameters" : {
"batchSize": null,
"maxFailedItems": 0,
"maxFailedItemsPerBatch": 0,
"base64EncodeKeys": null,
"configuration" : {
"parsingMode" : "json",
"indexedFileNameExtensions" : ".json, .jpg, .png",
"imageAction" : "generateNormalizedImages",
"dataToExtract" : "contentAndMetadata" } }
}
Parameter umum untuk semua pengindeks
| Parameter | Ketik dan nilai yang diizinkan | Penggunaan |
|---|---|---|
"batchSize" |
Bilangan bulat Defaultnya adalah sumber khusus (1000 untuk Azure SQL Database dan Azure Cosmos DB, 10 untuk Azure Blob Storage) |
Menentukan jumlah item yang dibaca dari sumber data dan diindeks sebagai satu batch untuk meningkatkan performa. |
"maxFailedItems" |
Bilangan bulat Defaultnya adalah 0 |
Jumlah kesalahan yang akan ditoleransi sebelum pengindeks dijalankan dianggap gagal. Atur ke -1 jika Anda tidak ingin kesalahan apa pun menghentikan proses pengindeksan. Anda dapat mengambil informasi tentang item yang gagal menggunakan Dapatkan Status Pengindeks. |
"maxFailedItemsPerBatch" |
Bilangan bulat Defaultnya adalah 0 |
Jumlah kesalahan yang akan ditoleransi di setiap batch sebelum pengindeks berjalan dianggap gagal. Atur ke -1 jika Anda tidak ingin kesalahan apa pun menghentikan proses pengindeksan. |
"base64EncodeKeys" |
Boolean Defaultnya adalah true |
Nilai yang valid adalah null, true, atau false. Ketika diatur ke false, pengindeks tidak akan secara otomatis mengodekan base64 nilai bidang yang ditetapkan sebagai kunci dokumen. Mengatur properti ini menghilangkan kebutuhan untuk menentukan fungsi pemetaan yang mengodekan nilai kunci base64 (seperti tanda hubung) yang tidak valid dalam kunci dokumen. |
Parameter konfigurasi blob
Beberapa parameter eksklusif untuk pengindeks tertentu, seperti pengindeksan blob Azure.
| Parameter | Ketik dan nilai yang diizinkan | Penggunaan |
|---|---|---|
"parsingMode" |
Untai (karakter)"text""delimitedText""json""jsonArray" "jsonLines" |
Untuk blob Azure, atur ke text untuk meningkatkan performa pengindeksan pada file teks biasa dalam penyimpanan blob. Untuk blob CSV, atur ke delimitedText saat blob adalah file CSV biasa. Untuk blob JSON, atur ke json untuk mengekstrak konten terstruktur atau untuk jsonArray mengekstrak elemen individual dari array sebagai dokumen terpisah dalam Azure Cognitive Search. Gunakan jsonLines untuk mengekstrak entitas JSON individual, dipisahkan oleh baris baru, sebagai dokumen terpisah dalam Azure Cognitive Search. |
"excludedFileNameExtensions" |
String daftar yang dibatasi koma ditentukan pengguna |
Untuk blob Azure, abaikan jenis file apa pun dalam daftar. Misalnya, Anda dapat mengecualikan ".png, .png, .mp4" untuk melewati file tersebut selama pengindeksan. |
"indexedFileNameExtensions" |
String daftar yang dibatasi koma ditentukan pengguna |
Untuk blob Azure, pilih blob jika ekstensi file ada dalam daftar. Misalnya, Anda dapat memfokuskan pengindeksan pada file aplikasi tertentu ".docx, .pptx, .msg" untuk secara khusus menyertakan jenis file tersebut. |
"failOnUnsupportedContentType" |
Boolean TRUE false (default) |
Untuk blob Azure, atur ke false jika Anda ingin melanjutkan pengindeksan saat jenis konten yang tidak didukung ditemui, dan Anda tidak tahu semua jenis konten (ekstensi file) terlebih dahulu. |
"failOnUnprocessableDocument" |
Boolean TRUE false (default) |
Untuk blob Azure, atur ke false jika Anda ingin melanjutkan pengindeksan jika dokumen gagal diindeks. |
"indexStorageMetadataOnlyForOversizedDocuments" |
Boolean benar false (default) |
Untuk blob Azure, atur properti ini ke true untuk masih mengindeks metadata penyimpanan untuk konten blob yang terlalu besar untuk diproses. Blob yang terlalu besar diperlakukan sebagai kesalahan secara default. Untuk batas ukuran blob, lihat Batas Layanan. |
"delimitedTextHeaders" |
String daftar yang dibatasi koma ditentukan pengguna |
Untuk blob CSV, menentukan daftar header kolom yang dibatasi koma, berguna untuk memetakan bidang sumber ke bidang tujuan dalam indeks. |
"delimitedTextDelimiter" |
String karakter tunggal ditentukan pengguna |
Untuk blob CSV, menentukan pembatas akhir baris untuk file CSV di mana setiap baris memulai dokumen baru (misalnya, "|"). |
"firstLineContainsHeaders" |
Boolean true (default) salah |
Untuk blob CSV, menunjukkan bahwa baris pertama (tidak kosong) dari setiap blob berisi header. |
"documentRoot" |
String jalur yang ditentukan pengguna |
Untuk array JSON, dengan dokumen terstruktur atau semi terstruktur, Anda dapat menentukan jalur ke array menggunakan properti ini. |
"dataToExtract" |
String"storageMetadata" "allMetadata" "contentAndMetadata" (default) |
Untuk blob Azure: Atur ke "storageMetadata" untuk mengindeks hanya properti blob standar dan metadata yang ditentukan pengguna. Atur ke "allMetadata" untuk mengekstrak metadata yang disediakan oleh subsistem penyimpanan blob Azure dan metadata khusus jenis konten (misalnya, metadata unik hanya untuk file .png) diindeks. Atur ke "contentAndMetadata" untuk mengekstrak semua metadata dan konten tekstual dari setiap blob. Untuk analisis gambar dalam pengayaan AI, ketika "imageAction" diatur ke nilai selain "none", "dataToExtract" pengaturan memberi tahu pengindeks data mana yang akan diekstrak dari konten gambar. Berlaku untuk konten gambar yang disematkan dalam .PDF atau aplikasi lain, atau file gambar seperti .jpg dan .png, di blob Azure. |
"imageAction" |
String"none""generateNormalizedImages""generateNormalizedImagePerPage" |
Untuk blob Azure, atur ke"none" untuk mengabaikan gambar atau file gambar yang disematkan dalam himpunan data. Ini adalah default. Untuk analisis gambar dalam pengayaan AI, atur ke "generateNormalizedImages" untuk mengekstrak teks dari gambar (misalnya, kata "berhenti" dari tanda Berhenti lalu lintas), dan sematkan sebagai bagian dari bidang konten. Selama analisis gambar, pengindeks membuat array gambar yang dinormalisasi sebagai bagian dari pemecahan dokumen, dan menyematkan informasi yang dihasilkan ke dalam bidang konten. Tindakan ini mengharuskan diatur "dataToExtract" ke "contentAndMetadata". Gambar yang dinormalisasi mengacu pada pemrosesan tambahan yang menghasilkan keluaran gambar yang seragam, berukuran dan diputar untuk mempromosikan penyajian yang konsisten saat Anda menyertakan gambar dalam hasil pencarian visual (misalnya, foto dengan ukuran yang sama dalam kontrol grafik seperti yang terlihat dalam demo JFK). Informasi ini dihasilkan untuk setiap gambar saat Anda menggunakan opsi ini. Jika Anda mengatur ke "generateNormalizedImagePerPage", file PDF akan diperlakukan berbeda karena sebagai ganti dari mengekstraksi gambar yang disematkan, setiap halaman akan dirender sebagai gambar dan dinormalisasi. Jenis file non-PDF akan diperlakukan sama seperti jika "generateNormalizedImages" diatur. "imageAction" Mengatur konfigurasi ke nilai apa pun selain "none" mengharuskan set keterampilan juga dilampirkan ke pengindeks tersebut. |
"normalizedImageMaxWidth""normalizedImageMaxHeight" |
Bilangan bulat antara 50-10000 | Lebar atau tinggi maksimum (dalam piksel) masing-masing untuk gambar yang dinormalisasi yang dihasilkan saat "imageAction" diatur. Defaultnya adalah 2000. Default 2000 piksel untuk lebar dan tinggi maksimum gambar yang dinormalisasi didasarkan pada ukuran maksimum yang didukung oleh keterampilan OCR dan keterampilan analisis gambar. Keterampilan OCR mendukung lebar dan tinggi maksimum 4200 untuk bahasa non-Inggris, dan 10000 untuk bahasa Inggris. Jika Anda meningkatkan batas maksimum, pemrosesan bisa gagal pada gambar yang lebih besar tergantung pada definisi set keterampilan Anda dan bahasa dokumen. |
"allowSkillsetToReadFileData" |
Boolean TRUE false (default) |
Mengatur parameter ke "allowSkillsetToReadFileData"true akan membuat jalur /document/file_data yang merupakan objek yang mewakili data file asli yang diunduh dari sumber data blob Anda. Ini memungkinkan Anda untuk meneruskan data file asli ke keterampilan kustom untuk diproses dalam alur pengayaan, atau ke keterampilan Ekstraksi Dokumen. Objek yang dihasilkan akan didefinisikan sebagai berikut: { "$type": "file", "data": "BASE64 encoded string of the file" } "allowSkillsetToReadFileData" Mengatur parameter ke true mengharuskan set keterampilan dilampirkan ke pengindeks tersebut"parsingMode", bahwa parameter diatur ke "default", "text" atau "json", dan "dataToExtract" parameter diatur ke "contentAndMetadata" atau "allMetadata". |
"pdfTextRotationAlgorithm" |
String"none" (default)"detectAngles" |
Mengatur parameter ke "pdfTextRotationAlgorithm""detectAngles" dapat membantu menghasilkan ekstraksi teks yang lebih baik dan lebih mudah dibaca dari file PDF yang telah memutar teks di dalamnya. Perhatikan bahwa mungkin ada dampak kecepatan performa kecil ketika parameter ini digunakan. Parameter ini hanya berlaku untuk file PDF, dan hanya untuk PDF dengan teks yang disematkan. Jika teks yang diputar muncul dalam gambar yang disematkan di PDF, parameter ini tidak berlaku."pdfTextRotationAlgorithm" Mengatur parameter ke "detectAngles" mengharuskan "parsingMode" parameter diatur ke "default". |
Parameter konfigurasi Azure Cosmos DB
Parameter berikut khusus untuk pengindeks Cosmos DB.
| Parameter | Ketik dan nilai yang diizinkan | Penggunaan |
|---|---|---|
"assumeOrderByHighWaterMarkColumn" |
Boolean | Untuk pengindeks Cosmos DB dengan API SQL, atur parameter ini untuk memberikan petunjuk ke Cosmos DB bahwa kueri yang digunakan untuk mengembalikan dokumen untuk pengindeksan sebenarnya diurutkan oleh _ts kolom. Mengatur parameter ini memberi Anda hasil yang lebih baik untuk skenario pengindeksan inkremental. |
Azure SQL parameter konfigurasi
Parameter berikut khusus untuk Azure SQL Database.
| Parameter | Ketik dan nilai yang diizinkan | Penggunaan |
|---|---|---|
"queryTimeout" |
Untai (karakter) "hh:mm:ss" "00:05:00" |
Untuk Azure SQL Database, atur parameter ini untuk meningkatkan batas waktu di luar default 5 menit. |
fieldMappings
Buat ini saat nama atau jenis bidang tujuan sumber tidak cocok, atau saat Anda ingin menentukan fungsi. Pemetaan bidang tidak peka huruf besar/kecil. Lihat Menentukan pemetaan bidang.
| Atribut | Deskripsi |
|---|---|
| sourceFieldName | Wajib diisi. Nama kolom sumber. |
| targetFieldName | Wajib diisi. Nama bidang terkait dalam indeks pencarian. |
| mappingFunction | Opsional. Menambahkan pemrosesan ke nilai sumber dalam rute ke mesin pencari. Misalnya, nilai string arbitrer dapat dikodekan base64 sehingga dapat digunakan untuk mengisi bidang kunci dokumen. Fungsi pemetaan memiliki nama dan parameter. Nilai yang valid meliputi: base64Encode base64Decode extractTokenAtPosition jsonArrayToStringCollection urlEncode urlDecode |
outputFieldMappings
Menentukan output keterampilan (atau simpul di pohon pengayaan) ke bidang dalam indeks pencarian.
"outputFieldMappings" : [
{
"sourceFieldName" : "/document/organizations",
"targetFieldName" : "organizations"
},
{
"sourceFieldName" : "/document/pages/*/keyPhrases/*",
"targetFieldName" : "keyphrases"
},
{
"sourceFieldName": "/document/languageCode",
"targetFieldName": "language",
"mappingFunction": null
}
],
encryptionKey
Mengonfigurasi koneksi ke Azure Key Vault untuk kunci enkripsi (CMK) yang dikelola pelanggan tambahan. Enkripsi dengan kunci yang dikelola pelanggan tidak tersedia untuk layanan gratis. Untuk layanan yang dapat ditagih, layanan ini hanya tersedia untuk layanan pencarian yang dibuat pada atau setelah 2019-01-01.
Koneksi ke brankas kunci harus diautentikasi. Anda dapat menggunakan "accessCredentials" atau identitas terkelola untuk tujuan ini.
Identitas terkelola dapat berupa sistem atau ditetapkan pengguna (pratinjau). Jika layanan pencarian memiliki identitas terkelola yang ditetapkan sistem dan penetapan peran yang memberikan akses baca ke brankas kunci, Anda dapat menghilangkan "identitas" dan "accessCredentials", dan permintaan akan mengautentikasi menggunakan identitas terkelola sistem. Jika layanan pencarian memiliki identitas dan penetapan peran yang ditetapkan pengguna, atur properti "identitas" ke ID sumber daya identitas tersebut.
| Atribut | Deskripsi |
|---|---|
| keyVaultKeyName | Wajib diisi. Nama kunci Azure Key Vault yang digunakan untuk enkripsi. |
| keyVaultKeyVersion | Wajib diisi. Versi kunci Key Vault Azure. |
| keyVaultUri | Wajib diisi. URI Azure Key Vault, juga disebut sebagai nama DNS, yang menyediakan kuncinya. Contoh URI mungkin https://my-keyvault-name.vault.azure.net |
| accessCredentials | Hilangkan jika Anda menggunakan identitas terkelola. Jika tidak, properti accessCredentials sertakan applicationId (ID Aplikasi Azure Active Directory yang memiliki izin akses ke Key Vault Azure yang Anda tentukan), dan applicationSecret (kunci autentikasi aplikasi Azure AD yang ditentukan). |
| identity | Opsional kecuali Anda menggunakan identitas terkelola yang ditetapkan pengguna untuk koneksi layanan pencarian ke Azure Key Vault. Formatnya adalah "/subscriptions/[subscription ID]/resourceGroups/[resource group name]/providers/Microsoft.ManagedIdentity/userAssignedIdentities/[managed identity name]". |