Indexers - Create

Membuat pengindeks baru.

POST {endpoint}/indexers?api-version=2023-11-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

SearchResourceEncryptionKey

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 pengindeks akan selalu tetap dienkripsi. Layanan pencarian akan mengabaikan upaya untuk menyetel 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

FieldMapping[]

Menentukan pemetaan antara bidang di sumber data dan bidang target terkait dalam indeks.

outputFieldMappings

FieldMapping[]

Pemetaan bidang output diterapkan setelah pengayaan dan segera sebelum pengindeksan.

parameters

IndexingParameters

Parameter untuk eksekusi pengindeks.

schedule

IndexingSchedule

Jadwal untuk pengindeks ini.

skillsetName

string

Nama skillset yang dieksekusi dengan pengindeks ini.

Respons

Nama Jenis Deskripsi
201 Created

SearchIndexer

Other Status Codes

SearchError

Respons kesalahan.

Contoh

SearchServiceCreateIndexer

Sample Request

POST https://myservice.search.windows.net/indexers?api-version=2023-11-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>"
    }
  }
}

Sample Response

{
  "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
AzureActiveDirectoryApplicationCredentials

Kredensial aplikasi terdaftar yang dibuat untuk layanan pencarian Anda, digunakan untuk akses terautentikasi ke kunci enkripsi yang disimpan di Azure Key Vault.

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.

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.

BlobIndexerParsingMode

Mewakili mode penguraian untuk pengindeksan dari sumber data blob Azure.

BlobIndexerPDFTextRotationAlgorithm

Menentukan algoritma untuk ekstraksi teks dari file PDF di penyimpanan blob Azure.

FieldMapping

Menentukan pemetaan antara bidang dalam sumber data dan bidang target dalam indeks.

FieldMappingFunction

Mewakili fungsi yang mengubah nilai dari sumber data sebelum mengindeks.

IndexerExecutionEnvironment

Menentukan lingkungan tempat pengindeks harus dijalankan.

IndexingParameters

Mewakili parameter untuk eksekusi pengindeks.

IndexingParametersConfiguration

Kamus properti konfigurasi khusus pengindeks. Setiap nama adalah nama properti tertentu. Setiap nilai harus berjenis primitif.

IndexingSchedule

Mewakili jadwal untuk eksekusi pengindeks.

SearchError

Menjelaskan kondisi kesalahan untuk API.

SearchIndexer

Mewakili pengindeks.

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 di layanan pencarian Anda, 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 Key Vault Azure yang akan digunakan saat mengenkripsi data Anda saat tidak aktif. ID Aplikasi tidak boleh dikacaukan 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 spesifik jenis konten (misalnya, metadata yang unik hanya untuk file .png yang 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 ditetapkan.

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.

FieldMapping

Menentukan pemetaan antara bidang dalam sumber data dan bidang target dalam indeks.

Nama Jenis Deskripsi
mappingFunction

FieldMappingFunction

Fungsi untuk 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. Defaultnya tergantung pada jenis sumber data.

configuration

IndexingParametersConfiguration

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

BlobIndexerDataToExtract

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

IndexerExecutionEnvironment

standard

Menentukan lingkungan tempat pengindeks harus dijalankan.

failOnUnprocessableDocument

boolean

False

Untuk blob Azure, atur ke false jika Anda ingin melanjutkan pengindeksan jika dokumen gagal diindeks.

failOnUnsupportedContentType

boolean

False

Untuk blob Azure, atur ke false jika Anda ingin melanjutkan pengindeksan saat jenis konten yang tidak didukung ditemukan, 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

BlobIndexerImageAction

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 yang terlalu besar diperlakukan sebagai kesalahan secara default. Untuk batas ukuran blob, lihat https://docs.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

BlobIndexerParsingMode

default

Mewakili mode penguraian untuk pengindeksan dari sumber data blob Azure.

pdfTextRotationAlgorithm

BlobIndexerPDFTextRotationAlgorithm

none

Menentukan algoritma untuk ekstraksi teks dari file PDF di penyimpanan blob Azure.

queryTimeout

string

00:05:00

Meningkatkan batas waktu melebihi default 5 menit untuk Azure SQL sumber data database, 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.

SearchError

Menjelaskan kondisi kesalahan untuk API.

Nama Jenis Deskripsi
code

string

Salah satu set kode kesalahan yang ditentukan server.

details

SearchError[]

Array detail tentang kesalahan tertentu yang menyebabkan kesalahan yang dilaporkan ini.

message

string

Representasi kesalahan yang dapat dibaca manusia.

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

SearchResourceEncryptionKey

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 pengindeks akan selalu tetap dienkripsi. Layanan pencarian akan mengabaikan upaya untuk menyetel 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

FieldMapping[]

Menentukan pemetaan antara bidang di sumber data dan bidang target terkait dalam indeks.

name

string

Nama pengindeks.

outputFieldMappings

FieldMapping[]

Pemetaan bidang output diterapkan setelah pengayaan dan segera sebelum pengindeksan.

parameters

IndexingParameters

Parameter untuk eksekusi pengindeks.

schedule

IndexingSchedule

Jadwal untuk pengindeks ini.

skillsetName

string

Nama skillset yang dieksekusi 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 di layanan pencarian Anda, seperti indeks dan peta sinonim.

Nama Jenis Deskripsi
accessCredentials

AzureActiveDirectoryApplicationCredentials

Kredensial Azure Active Directory opsional yang digunakan untuk mengakses Key Vault Azure 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 adalah https://my-keyvault-name.vault.azure.net.