Indexers - Create
Membuat pengindeks baru.
POST {endpoint}/indexers?api-version=2024-07-01
Parameter URI
Nama | Dalam | Diperlukan | Jenis | Deskripsi |
---|---|---|---|---|
endpoint
|
path | True |
string |
URL titik akhir layanan pencarian. |
api-version
|
query | True |
string |
Versi Api Klien. |
Header Permintaan
Nama | Diperlukan | Jenis | Deskripsi |
---|---|---|---|
x-ms-client-request-id |
string uuid |
ID pelacakan yang dikirim dengan permintaan untuk membantu penelusuran kesalahan. |
Isi Permintaan
Nama | Diperlukan | Jenis | Deskripsi |
---|---|---|---|
dataSourceName | True |
string |
Nama sumber data tempat pengindeks ini membaca data. |
name | True |
string |
Nama pengindeks. |
targetIndexName | True |
string |
Nama indeks tempat pengindeks ini menulis data. |
@odata.etag |
string |
ETag pengindeks. |
|
description |
string |
Deskripsi pengindeks. |
|
disabled |
boolean |
Nilai yang menunjukkan apakah pengindeks dinonaktifkan. Defaultnya adalah false. |
|
encryptionKey |
Deskripsi kunci enkripsi yang Anda buat di Azure Key Vault. Kunci ini digunakan untuk memberikan tingkat enkripsi-saat-istirahat tambahan untuk definisi pengindeks Anda (serta status eksekusi pengindeks) ketika Anda menginginkan jaminan penuh bahwa tidak ada, bahkan Microsoft, yang dapat mendekripsinya. Setelah Anda mengenkripsi definisi pengindeks, definisi tersebut akan selalu tetap dienkripsi. Layanan pencarian akan mengabaikan upaya untuk mengatur properti ini ke null. Anda dapat mengubah properti ini sesuai kebutuhan jika Anda ingin memutar kunci enkripsi; Definisi pengindeks Anda (dan status eksekusi pengindeks) tidak akan terpengaruh. Enkripsi dengan kunci yang dikelola pelanggan tidak tersedia untuk layanan pencarian gratis, dan hanya tersedia untuk layanan berbayar yang dibuat pada atau setelah 1 Januari 2019. |
||
fieldMappings |
Menentukan pemetaan antara bidang di sumber data dan bidang target terkait dalam indeks. |
||
outputFieldMappings |
Pemetaan bidang output diterapkan setelah pengayaan dan segera sebelum pengindeksan. |
||
parameters |
Parameter untuk eksekusi pengindeks. |
||
schedule |
Jadwal untuk pengindeks ini. |
||
skillsetName |
string |
Nama skillset yang dijalankan dengan pengindeks ini. |
Respons
Nama | Jenis | Deskripsi |
---|---|---|
201 Created | ||
Other Status Codes |
Respons kesalahan. |
Contoh
SearchServiceCreateIndexer
Permintaan sampel
POST https://myservice.search.windows.net/indexers?api-version=2024-07-01
{
"name": "myindexer",
"description": "an indexer",
"dataSourceName": "mydatasource",
"targetIndexName": "orders",
"schedule": {
"interval": "PT1H",
"startTime": "2015-01-01T00:00:00Z"
},
"parameters": {
"maxFailedItems": 10,
"maxFailedItemsPerBatch": 5
},
"encryptionKey": {
"keyVaultKeyName": "myUserManagedEncryptionKey-createdinAzureKeyVault",
"keyVaultKeyVersion": "myKeyVersion-32charAlphaNumericString",
"keyVaultUri": "https://myKeyVault.vault.azure.net",
"accessCredentials": {
"applicationId": "00000000-0000-0000-0000-000000000000",
"applicationSecret": "<applicationSecret>"
}
}
}
Respon sampel
{
"name": "myindexer",
"description": "an indexer",
"dataSourceName": "mydatasource",
"targetIndexName": "orders",
"schedule": {
"interval": "PT1H",
"startTime": "2015-01-01T00:00:00Z"
},
"parameters": {
"maxFailedItems": 10,
"maxFailedItemsPerBatch": 5
},
"fieldMappings": [],
"disabled": false,
"encryptionKey": {
"keyVaultKeyName": "myUserManagedEncryptionKey-createdinAzureKeyVault",
"keyVaultKeyVersion": "myKeyVersion-32charAlphaNumericString",
"keyVaultUri": "https://myKeyVault.vault.azure.net",
"accessCredentials": {
"applicationId": "00000000-0000-0000-0000-000000000000",
"applicationSecret": null
}
}
}
Definisi
Nama | Deskripsi |
---|---|
Azure |
Kredensial aplikasi terdaftar yang dibuat untuk layanan pencarian Anda, digunakan untuk akses terautentikasi ke kunci enkripsi yang disimpan di Azure Key Vault. |
Blob |
Menentukan data yang akan diekstrak dari penyimpanan blob Azure dan memberi tahu pengindeks data mana yang akan diekstrak dari konten gambar saat "imageAction" diatur ke nilai selain "tidak ada". Ini berlaku untuk konten gambar yang disematkan dalam .PDF atau aplikasi lain, atau file gambar seperti .jpg dan .png, di blob Azure. |
Blob |
Menentukan cara memproses gambar dan file gambar yang disematkan di penyimpanan blob Azure. Mengatur konfigurasi "imageAction" ke nilai apa pun selain "tidak ada" mengharuskan set keterampilan juga dilampirkan ke pengindeks tersebut. |
Blob |
Mewakili mode penguraian untuk pengindeksan dari sumber data blob Azure. |
Blob |
Menentukan algoritma untuk ekstraksi teks dari file PDF di penyimpanan blob Azure. |
Error |
Info tambahan kesalahan manajemen sumber daya. |
Error |
Detail kesalahan. |
Error |
Respons kesalahan |
Field |
Menentukan pemetaan antara bidang di sumber data dan bidang target dalam indeks. |
Field |
Mewakili fungsi yang mengubah nilai dari sumber data sebelum mengindeks. |
Indexer |
Menentukan lingkungan tempat pengindeks harus dijalankan. |
Indexing |
Mewakili parameter untuk eksekusi pengindeks. |
Indexing |
Kamus properti konfigurasi khusus pengindeks. Setiap nama adalah nama properti tertentu. Setiap nilai harus berjenis primitif. |
Indexing |
Mewakili jadwal untuk eksekusi pengindeks. |
Search |
Mewakili pengindeks. |
Search |
Kunci enkripsi yang dikelola pelanggan di Azure Key Vault. Kunci yang Anda buat dan kelola dapat digunakan untuk mengenkripsi atau mendekripsi data tidak aktif, seperti indeks dan peta sinonim. |
AzureActiveDirectoryApplicationCredentials
Kredensial aplikasi terdaftar yang dibuat untuk layanan pencarian Anda, digunakan untuk akses terautentikasi ke kunci enkripsi yang disimpan di Azure Key Vault.
Nama | Jenis | Deskripsi |
---|---|---|
applicationId |
string |
ID Aplikasi AAD yang diberikan izin akses yang diperlukan ke Azure Key Vault yang akan digunakan saat mengenkripsi data Anda tidak aktif. ID Aplikasi tidak boleh bingung dengan ID Objek untuk Aplikasi AAD Anda. |
applicationSecret |
string |
Kunci autentikasi aplikasi AAD yang ditentukan. |
BlobIndexerDataToExtract
Menentukan data yang akan diekstrak dari penyimpanan blob Azure dan memberi tahu pengindeks data mana yang akan diekstrak dari konten gambar saat "imageAction" diatur ke nilai selain "tidak ada". Ini berlaku untuk konten gambar yang disematkan dalam .PDF atau aplikasi lain, atau file gambar seperti .jpg dan .png, di blob Azure.
Nama | Jenis | Deskripsi |
---|---|---|
allMetadata |
string |
Mengekstrak metadata yang disediakan oleh subsistem penyimpanan blob Azure dan metadata khusus jenis konten (misalnya, metadata yang unik hanya untuk file .png diindeks). |
contentAndMetadata |
string |
Mengekstrak semua metadata dan konten tekstual dari setiap blob. |
storageMetadata |
string |
Mengindeks hanya properti blob standar dan metadata yang ditentukan pengguna. |
BlobIndexerImageAction
Menentukan cara memproses gambar dan file gambar yang disematkan di penyimpanan blob Azure. Mengatur konfigurasi "imageAction" ke nilai apa pun selain "tidak ada" mengharuskan set keterampilan juga dilampirkan ke pengindeks tersebut.
Nama | Jenis | Deskripsi |
---|---|---|
generateNormalizedImagePerPage |
string |
Mengekstrak teks dari gambar (misalnya, kata "STOP" dari tanda berhenti lalu lintas), dan menyematkannya ke bidang konten, tetapi memperlakukan file PDF secara berbeda di mana setiap halaman akan dirender sebagai gambar dan dinormalisasi sesuai, alih-alih mengekstrak gambar yang disematkan. Jenis file non-PDF akan diperlakukan sama seperti jika "generateNormalizedImages" telah diatur. |
generateNormalizedImages |
string |
Mengekstrak teks dari gambar (misalnya, kata "STOP" dari tanda berhenti lalu lintas), dan menyematkannya ke bidang konten. Tindakan ini mengharuskan "dataToExtract" diatur ke "contentAndMetadata". Gambar yang dinormalisasi mengacu pada pemrosesan tambahan yang menghasilkan output gambar yang seragam, berukuran dan diputar untuk mempromosikan penyajian yang konsisten saat Anda menyertakan gambar dalam hasil pencarian visual. Informasi ini dihasilkan untuk setiap gambar saat Anda menggunakan opsi ini. |
none |
string |
Mengabaikan gambar atau file gambar yang disematkan dalam himpunan data. Ini adalah default. |
BlobIndexerParsingMode
Mewakili mode penguraian untuk pengindeksan dari sumber data blob Azure.
Nama | Jenis | Deskripsi |
---|---|---|
default |
string |
Atur ke default untuk pemrosesan file normal. |
delimitedText |
string |
Atur ke delimitedText saat blob adalah file CSV biasa. |
json |
string |
Atur ke json untuk mengekstrak konten terstruktur dari file JSON. |
jsonArray |
string |
Atur ke jsonArray untuk mengekstrak elemen individual array JSON sebagai dokumen terpisah. |
jsonLines |
string |
Atur ke jsonLines untuk mengekstrak entitas JSON individual, dipisahkan oleh baris baru, sebagai dokumen terpisah. |
text |
string |
Atur ke teks untuk meningkatkan performa pengindeksan pada file teks biasa dalam penyimpanan blob. |
BlobIndexerPDFTextRotationAlgorithm
Menentukan algoritma untuk ekstraksi teks dari file PDF di penyimpanan blob Azure.
Nama | Jenis | Deskripsi |
---|---|---|
detectAngles |
string |
Dapat 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 saat 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 dalam PDF, parameter ini tidak berlaku. |
none |
string |
Memanfaatkan ekstraksi teks normal. Ini adalah default. |
ErrorAdditionalInfo
Info tambahan kesalahan manajemen sumber daya.
Nama | Jenis | Deskripsi |
---|---|---|
info |
object |
Info tambahan. |
type |
string |
Jenis info tambahan. |
ErrorDetail
Detail kesalahan.
Nama | Jenis | Deskripsi |
---|---|---|
additionalInfo |
Info tambahan kesalahan. |
|
code |
string |
Kode kesalahan. |
details |
Detail kesalahan. |
|
message |
string |
Pesan kesalahan. |
target |
string |
Target kesalahan. |
ErrorResponse
Respons kesalahan
Nama | Jenis | Deskripsi |
---|---|---|
error |
Objek kesalahan. |
FieldMapping
Menentukan pemetaan antara bidang di sumber data dan bidang target dalam indeks.
Nama | Jenis | Deskripsi |
---|---|---|
mappingFunction |
Fungsi yang akan diterapkan ke setiap nilai bidang sumber sebelum pengindeksan. |
|
sourceFieldName |
string |
Nama bidang di sumber data. |
targetFieldName |
string |
Nama bidang target dalam indeks. Sama seperti nama bidang sumber secara default. |
FieldMappingFunction
Mewakili fungsi yang mengubah nilai dari sumber data sebelum mengindeks.
Nama | Jenis | Deskripsi |
---|---|---|
name |
string |
Nama fungsi pemetaan bidang. |
parameters |
object |
Kamus pasangan nama/nilai parameter untuk diteruskan ke fungsi. Setiap nilai harus berjenis primitif. |
IndexerExecutionEnvironment
Menentukan lingkungan tempat pengindeks harus dijalankan.
Nama | Jenis | Deskripsi |
---|---|---|
private |
string |
Menunjukkan bahwa pengindeks harus berjalan dengan lingkungan yang disediakan khusus untuk layanan pencarian. Ini hanya boleh ditentukan sebagai lingkungan eksekusi jika pengindeks perlu mengakses sumber daya dengan aman melalui sumber daya tautan privat bersama. |
standard |
string |
Menunjukkan bahwa layanan pencarian dapat menentukan di mana pengindeks harus dijalankan. Ini adalah lingkungan default ketika tidak ada yang ditentukan dan merupakan nilai yang direkomendasikan. |
IndexingParameters
Mewakili parameter untuk eksekusi pengindeks.
Nama | Jenis | Nilai default | Deskripsi |
---|---|---|---|
batchSize |
integer |
Jumlah item yang dibaca dari sumber data dan diindeks sebagai satu batch untuk meningkatkan performa. Default tergantung pada jenis sumber data. |
|
configuration |
Kamus properti konfigurasi khusus pengindeks. Setiap nama adalah nama properti tertentu. Setiap nilai harus berjenis primitif. |
||
maxFailedItems |
integer |
0 |
Jumlah maksimum item yang dapat gagal mengindeks untuk eksekusi pengindeks masih dianggap berhasil. -1 berarti tidak ada batas. Defaultnya adalah 0. |
maxFailedItemsPerBatch |
integer |
0 |
Jumlah maksimum item dalam satu batch yang dapat gagal mengindeks batch agar masih dianggap berhasil. -1 berarti tidak ada batas. Defaultnya adalah 0. |
IndexingParametersConfiguration
Kamus properti konfigurasi khusus pengindeks. Setiap nama adalah nama properti tertentu. Setiap nilai harus berjenis primitif.
Nama | Jenis | Nilai default | Deskripsi |
---|---|---|---|
allowSkillsetToReadFileData |
boolean |
False |
Jika 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. |
dataToExtract | contentAndMetadata |
Menentukan data yang akan diekstrak dari penyimpanan blob Azure dan memberi tahu pengindeks data mana yang akan diekstrak dari konten gambar saat "imageAction" diatur ke nilai selain "tidak ada". Ini berlaku untuk konten gambar yang disematkan dalam .PDF atau aplikasi lain, atau file gambar seperti .jpg dan .png, di blob Azure. |
|
delimitedTextDelimiter |
string |
Untuk blob CSV, menentukan pembatas karakter tunggal akhir baris untuk file CSV di mana setiap baris memulai dokumen baru (misalnya, "|"). |
|
delimitedTextHeaders |
string |
Untuk blob CSV, menentukan daftar header kolom yang dibatasi koma, berguna untuk memetakan bidang sumber ke bidang tujuan dalam indeks. |
|
documentRoot |
string |
Untuk array JSON, mengingat dokumen terstruktur atau semi terstruktur, Anda dapat menentukan jalur ke array menggunakan properti ini. |
|
excludedFileNameExtensions |
string |
Daftar ekstensi nama file yang dibatasi koma untuk diabaikan saat memproses dari penyimpanan blob Azure. Misalnya, Anda dapat mengecualikan ".png, .mp4" untuk melewati file-file tersebut selama pengindeksan. |
|
executionEnvironment | standard |
Menentukan lingkungan tempat pengindeks harus dijalankan. |
|
failOnUnprocessableDocument |
boolean |
False |
Untuk blob Azure, atur ke false jika Anda ingin melanjutkan pengindeksan jika dokumen gagal mengindeks. |
failOnUnsupportedContentType |
boolean |
False |
Untuk blob Azure, atur ke false jika Anda ingin melanjutkan pengindeksan saat tipe konten yang tidak didukung ditemui, dan Anda tidak tahu semua jenis konten (ekstensi file) terlebih dahulu. |
firstLineContainsHeaders |
boolean |
True |
Untuk blob CSV, menunjukkan bahwa baris pertama (tidak kosong) dari setiap blob berisi header. |
imageAction | none |
Menentukan cara memproses gambar dan file gambar yang disematkan di penyimpanan blob Azure. Mengatur konfigurasi "imageAction" ke nilai apa pun selain "tidak ada" mengharuskan set keterampilan juga dilampirkan ke pengindeks tersebut. |
|
indexStorageMetadataOnlyForOversizedDocuments |
boolean |
False |
Untuk blob Azure, atur properti ini ke true untuk masih mengindeks metadata penyimpanan untuk konten blob yang terlalu besar untuk diproses. Blob berukuran besar diperlakukan sebagai kesalahan secara default. Untuk batas ukuran blob, lihat https://learn.microsoft.com/azure/search/search-limits-quotas-capacity. |
indexedFileNameExtensions |
string |
Daftar ekstensi nama file yang dibatasi koma untuk dipilih saat memproses dari penyimpanan blob Azure. Misalnya, Anda dapat memfokuskan pengindeksan pada file aplikasi tertentu ".docx, .pptx, .msg" untuk secara khusus menyertakan jenis file tersebut. |
|
parsingMode | default |
Mewakili mode penguraian untuk pengindeksan dari sumber data blob Azure. |
|
pdfTextRotationAlgorithm | none |
Menentukan algoritma untuk ekstraksi teks dari file PDF di penyimpanan blob Azure. |
|
queryTimeout |
string |
00:05:00 |
Meningkatkan batas waktu di luar default 5 menit untuk sumber data database Azure SQL, yang ditentukan dalam format "hh:mm:ss". |
IndexingSchedule
Mewakili jadwal untuk eksekusi pengindeks.
Nama | Jenis | Deskripsi |
---|---|---|
interval |
string |
Interval waktu antara eksekusi pengindeks. |
startTime |
string |
Waktu ketika pengindeks harus mulai berjalan. |
SearchIndexer
Mewakili pengindeks.
Nama | Jenis | Nilai default | Deskripsi |
---|---|---|---|
@odata.etag |
string |
ETag pengindeks. |
|
dataSourceName |
string |
Nama sumber data tempat pengindeks ini membaca data. |
|
description |
string |
Deskripsi pengindeks. |
|
disabled |
boolean |
False |
Nilai yang menunjukkan apakah pengindeks dinonaktifkan. Defaultnya adalah false. |
encryptionKey |
Deskripsi kunci enkripsi yang Anda buat di Azure Key Vault. Kunci ini digunakan untuk memberikan tingkat enkripsi-saat-istirahat tambahan untuk definisi pengindeks Anda (serta status eksekusi pengindeks) ketika Anda menginginkan jaminan penuh bahwa tidak ada, bahkan Microsoft, yang dapat mendekripsinya. Setelah Anda mengenkripsi definisi pengindeks, definisi tersebut akan selalu tetap dienkripsi. Layanan pencarian akan mengabaikan upaya untuk mengatur properti ini ke null. Anda dapat mengubah properti ini sesuai kebutuhan jika Anda ingin memutar kunci enkripsi; Definisi pengindeks Anda (dan status eksekusi pengindeks) tidak akan terpengaruh. Enkripsi dengan kunci yang dikelola pelanggan tidak tersedia untuk layanan pencarian gratis, dan hanya tersedia untuk layanan berbayar yang dibuat pada atau setelah 1 Januari 2019. |
||
fieldMappings |
Menentukan pemetaan antara bidang di sumber data dan bidang target terkait dalam indeks. |
||
name |
string |
Nama pengindeks. |
|
outputFieldMappings |
Pemetaan bidang output diterapkan setelah pengayaan dan segera sebelum pengindeksan. |
||
parameters |
Parameter untuk eksekusi pengindeks. |
||
schedule |
Jadwal untuk pengindeks ini. |
||
skillsetName |
string |
Nama skillset yang dijalankan dengan pengindeks ini. |
|
targetIndexName |
string |
Nama indeks tempat pengindeks ini menulis data. |
SearchResourceEncryptionKey
Kunci enkripsi yang dikelola pelanggan di Azure Key Vault. Kunci yang Anda buat dan kelola dapat digunakan untuk mengenkripsi atau mendekripsi data tidak aktif, seperti indeks dan peta sinonim.
Nama | Jenis | Deskripsi |
---|---|---|
accessCredentials |
Kredensial Azure Active Directory opsional yang digunakan untuk mengakses Azure Key Vault Anda. Tidak diperlukan jika menggunakan identitas terkelola sebagai gantinya. |
|
keyVaultKeyName |
string |
Nama kunci Azure Key Vault Anda yang akan digunakan untuk mengenkripsi data Anda saat tidak aktif. |
keyVaultKeyVersion |
string |
Versi kunci Azure Key Vault Anda yang akan digunakan untuk mengenkripsi data Anda saat tidak aktif. |
keyVaultUri |
string |
URI Azure Key Vault Anda, juga disebut sebagai nama DNS, yang berisi kunci yang akan digunakan untuk mengenkripsi data Anda saat tidak aktif. Contoh URI mungkin |