Memantau status pengindeks dan menghasilkan Pencarian Azure AI
Anda dapat memantau pemrosesan pengindeks di portal Microsoft Azure, atau melalui panggilan REST atau Azure SDK secara terprogram. Selain status tentang pengindeks sendiri, Anda dapat meninjau waktu mulai dan berakhir, serta kesalahan dan peringatan terperinci dari proses jalankan tertentu.
Memantau menggunakan portal Microsoft Azure
Anda dapat melihat status saat ini dari semua pengindeks Anda di halaman Gambaran Umum layanan pencarian Anda. Halaman portal dimuat ulang setiap beberapa menit, sehingga Anda tidak akan melihat bukti pengindeks baru yang prosesnya langsung berjalan. Pilih Refresh di bagian atas halaman untuk segera mengambil tampilan terbaru.
Keadaan | Deskripsi |
---|---|
Sedang Berlangsung | Menunjukkan eksekusi aktif. Portal akan melaporkan informasi parsial. Saat pengindeksan berlangsung, Anda dapat melihat nilai Dokumen yang Berhasil tumbuh sebagai respons. Pengindeks yang memproses data dalam volume besar dapat memakan waktu lama untuk dijalankan. Misalnya, pengindeks yang menangani jutaan dokumen sumber dapat berjalan selama 24 jam, lalu memulai ulang hampir segera untuk mengambil tempat yang ditinggalkannya. Dengan demikian, status untuk pengindeks volume tinggi mungkin selalu mengatakan Sedang Berlangsung di portal. Bahkan ketika pengindeks sedang berjalan, tersedia detail tentang kemajuan yang sedang berlangsung dan operasi yang berjalan sebelumnya. |
Keberhasilan | Menunjukkan bahwa operasi jalankan berhasil. Jalankan pengindeks dapat berhasil meskipun dokumen individual memiliki kesalahan, jika jumlah kesalahan kurang dari pengaturan Item gagal maksimal pengindeks. |
Gagal | Jumlah kesalahan melebih Item gagal maksimal dan pengindeksan berhenti. |
Atur ulang | Status pelacakan perubahan internal pengindeks diatur ulang. Pengindeks akan berjalan secara penuh, memuat ulang semua dokumen, dan bukan hanya yang memiliki cap waktu terbaru. |
Anda dapat memilih pengindeks dalam daftar untuk melihat detail selengkapnya tentang pengindeks saat ini dan eksekusi terbaru.
Bagan ringkasan pengindeks menampilkan grafik jumlah dokumen yang diproses dalam proses terbarunya.
Daftar detail eksekusi menampilkan hingga 50 hasil eksekusi terbaru. Pilih pada hasil eksekusi dalam daftar untuk melihat secara spesifik tentang eksekusi tersebut. Ini termasuk waktu mulai dan berakhir, dan setiap kesalahan dan peringatan yang terjadi.
Jika ada masalah khusus dokumen selama proses, masalah tersebut akan dicantumkan di bidang Kesalahan dan Peringatan.
Peringatan umum dengan beberapa jenis pengindeks, dan tidak selalu menunjukkan masalah. Misalnya pengindeks yang menggunakan layanan Azure AI dapat melaporkan peringatan saat file gambar atau PDF tidak berisi teks apa pun untuk diproses.
Untuk informasi selengkapnya tentang cara menyelidiki peringatan dan kesalahan pengindeks, lihat Panduan pemecahan masalah pengindeks.
Memantau dengan Metrik Pemantauan Azure
Azure AI Search adalah sumber daya yang dipantau di Azure Monitor, yang berarti Anda dapat menggunakan Metrics Explorer untuk melihat metrik dasar tentang jumlah dokumen yang diproses pengindeks dan pemanggilan keterampilan. Metrik ini dapat digunakan untuk memantau kemajuan pengindeks dan menyiapkan pemberitahuan.
Tampilan metrik dapat difilter atau dipisahkan oleh sekumpulan dimensi yang telah ditentukan sebelumnya. Untuk mempelajari tentang dimensi yang terkait dengan metrik Jumlah yang diproses dokumen dan Jumlah pemanggilan eksekusi keterampilan, lihat Dimensi metrik.
Cuplikan layar berikut menunjukkan jumlah dokumen yang diproses oleh pengindeks dalam layanan selama satu jam, dibagi berdasarkan nama pengindeks.
Anda juga dapat mengonfigurasi grafik untuk melihat jumlah pemanggilan keterampilan selama interval jam yang sama.
Monitor menggunakan Dapatkan Status Pengindeks (REST API)
Anda dapat mengambil status dan riwayat eksekusi pengindeks menggunakan perintah Dapatkan Status Pengindeks:
GET https://[service name].search.windows.net/indexers/[indexer name]/status?api-version=2024-07-01
api-key: [Search service admin key]
Respons ini berisi keseluruhan status pengindeks, pemanggilan pengindeks terakhir (atau sedang berlangsung), dan riwayat pemanggilan pengindeks baru-baru ini.
{
"status":"running",
"lastResult": {
"status":"success",
"errorMessage":null,
"startTime":"2018-11-26T03:37:18.853Z",
"endTime":"2018-11-26T03:37:19.012Z",
"errors":[],
"itemsProcessed":11,
"itemsFailed":0,
"initialTrackingState":null,
"finalTrackingState":null
},
"executionHistory":[ {
"status":"success",
"errorMessage":null,
"startTime":"2018-11-26T03:37:18.853Z",
"endTime":"2018-11-26T03:37:19.012Z",
"errors":[],
"itemsProcessed":11,
"itemsFailed":0,
"initialTrackingState":null,
"finalTrackingState":null
}]
}
Riwayat eksekusi berisi hingga 50 pemrosesan terbaru, yang diurutkan dalam urutan kronologis terbalik (paling baru pertama).
Perhatikan ada dua nilai status yang berbeda. Status tingkat atas adalah untuk pengindeks itu sendiri. Status pengindeks berjalan berarti pengindeks disiapkan dengan benar dan tersedia untuk dijalankan, tetapi tidak saat ini berjalan.
Setiap operasi jalankan pengindeks juga memiliki status sendiri yang menunjukkan apakah eksekusi spesifik itu sedang berlangsung (berjalan),atau sudah selesai dengan status berhasil, transientFailure, atau persistentFailure.
Saat pengindeks diatur ulang untuk memuat ulang status pelacakan perubahannya, entri riwayat eksekusi terpisah ditambahkan dengan status Atur ulang.
Untuk informasi selengkapnya tentang kode status dan data pemantauan pengindeks, lihat Mendapatkan Status Pengindeks.
Pantau menggunakan .NET
Contoh C# berikut menulis informasi tentang status pengindeks dan hasil eksekusi terbarunya (atau yang sedang berlangsung) ke konsol.
static void CheckIndexerStatus(SearchIndexerClient indexerClient, SearchIndexer indexer)
{
try
{
string indexerName = "hotels-sql-idxr";
SearchIndexerStatus execInfo = indexerClient.GetIndexerStatus(indexerName);
Console.WriteLine("Indexer has run {0} times.", execInfo.ExecutionHistory.Count);
Console.WriteLine("Indexer Status: " + execInfo.Status.ToString());
IndexerExecutionResult result = execInfo.LastResult;
Console.WriteLine("Latest run");
Console.WriteLine("Run Status: {0}", result.Status.ToString());
Console.WriteLine("Total Documents: {0}, Failed: {1}", result.ItemCount, result.FailedItemCount);
TimeSpan elapsed = result.EndTime.Value - result.StartTime.Value;
Console.WriteLine("StartTime: {0:T}, EndTime: {1:T}, Elapsed: {2:t}", result.StartTime.Value, result.EndTime.Value, elapsed);
string errorMsg = (result.ErrorMessage == null) ? "none" : result.ErrorMessage;
Console.WriteLine("ErrorMessage: {0}", errorMsg);
Console.WriteLine(" Document Errors: {0}, Warnings: {1}\n", result.Errors.Count, result.Warnings.Count);
}
catch (Exception e)
{
// Handle exception
}
}
Output di konsol akan tampak seperti ini:
Indexer has run 18 times.
Indexer Status: Running
Latest run
Run Status: Success
Total Documents: 7, Failed: 0
StartTime: 11:29:31 PM, EndTime: 11:29:31 PM, Elapsed: 00:00:00.2560000
ErrorMessage: none
Document Errors: 0, Warnings: 0
Perhatikan ada dua nilai status yang berbeda. Status tingkat atas adalah status pengindeks itu sendiri. Status pengindeks Berjalan berarti pengindeks disiapkan dengan benar dan tersedia untuk eksekusi, tetapi tidak saat ini dijalankan.
Setiap operasi jalankan pengindeks juga memiliki status sendiri yang menunjukkan apakah eksekusi spesifik itu sedang berlangsung (Berjalan), atau sudah selesai dengan status Berhasil, atau TransientError.
Saat pengindeks diatur ulang untuk memuat ulang status pelacakan perubahannya, entri riwayat eksekusi terpisah ditambahkan dengan status Atur ulang.
Langkah berikutnya
Untuk informasi selengkapnya tentang kode status dan informasi pemantauan pengindeks, lihat referensi API berikut: