Menggunakan Pengelola Katalog
Antarmuka ISearchCatalogManager dan ISearchCatalogManager2 menyediakan metode untuk mengelola katalog pencarian, seperti menyebabkan pengindeksan ulang atau mengatur waktu habis. Meskipun Windows Search saat ini hanya menggunakan satu katalog, antarmuka ini dirancang untuk memberi Anda kontrol yang lebih besar untuk mengelola beberapa katalog secara independen. Antarmuka mengelola katalog dengan cara berikut:
- Akses ke antarmuka lain — mengambil antarmuka terkait pencarian lainnya yang diperlukan oleh Crawl Scope Manager, pemberitahuan perubahan data, dan antarmuka ISearchQueryHelper .
- Konten katalog — memastikan bahwa data baru diindeks dan bahwa aplikasi dan komponen lain berfungsi dengan baik dengan memaksa pengindeksan ulang semua atau sebagian katalog atau dengan mengatur ulang seluruh katalog.
- Properti katalog — mengatur properti yang menentukan bagaimana katalog mengelola waktu habis saat menyambungkan ke penangan protokol dan bagaimana tanda diakritik diperlakukan dalam pencarian.
- Status katalog — mendapatkan informasi tentang katalog, termasuk status, ukuran, dan status aktivitas saat ini.
Topik ini diatur sebagai berikut:
- Mengakses Antarmuka Terkait
- Mengelola Konten Katalog
- Mengelola Status Katalog
- Mengelola Properti Katalog
- Berjalan dalam Mode Ditingkatkan
- Topik terkait
Mengakses Antarmuka Terkait
Beberapa antarmuka yang berguna di platform Windows Search memerlukan instans Pengelola Katalog sebelum dapat digunakan. Untuk membuat Pengelola Katalog untuk katalog tertentu, panggil metode ISearchManager::GetCatalog . Metode Pengelola Katalog kemudian dapat digunakan untuk membuat instans dan mengembalikan antarmuka yang didasarkan pada katalog yang ditentukan.
Metode | Deskripsi |
---|---|
GetQueryHelper | Mendapatkan instans antarmuka ISearchQueryHelper untuk katalog saat ini, untuk memungkinkan Anda membuat kueri dengan mudah. |
GetCrawlScopeManager | Mendapatkan instans ISearchCrawlScopeManager untuk katalog pencarian ini, untuk memungkinkan pengembang memodifikasi cakupan perayapan Pengindeks Windows Search. |
GetItemsChangedSink | Mendapatkan instans antarmuka ISearchItemsChangedSink , yang digunakan aplikasi klien untuk memberi tahu pengindeks perubahan ketika klien menginginkan informasi status pengindeksan tentang item untuk mendukung pemberitahuan yang dikelola penyedia. Lihat Memberi tahu Indeks Perubahan untuk informasi selengkapnya. |
GetPersistentItemsChangedSink | Mendapatkan instans ISearchPersistentItemsChangedSink, yang digunakan aplikasi klien untuk memberi tahu pengindeks perubahan ketika klien tidak menginginkan informasi status pengindeksan (pemberitahuan yang dikelola pengindeks). Lihat Memberi tahu Indeks Perubahan untuk informasi selengkapnya. |
Mengelola Konten Katalog
Ada dua tugas utama yang terlibat dalam mengelola katalog: mengindeks ulang semua atau beberapa URL dalam cakupan perayapan pengindeks, dan mengatur ulang seluruh katalog yang mendasar. Saat Anda mengindeks ulang URL, data lama tetap berada di katalog hingga atau kecuali digantikan oleh data baru. Saat Anda mengatur ulang katalog, seluruh katalog dibangun ulang dan semua URL dalam cakupan perayapan diindeks ulang. Proses ini dapat memakan banyak waktu dan harus digunakan hanya sebagai upaya terakhir untuk memecahkan masalah seperti indeks yang mungkin rusak.
Saat Anda menginstal aplikasi baru, penangan protokol, atau filter, aplikasi penyiapan harus menambahkan direktori atau akarnya ke cakupan perayapan untuk memastikan bahwa pengindeks menyertakan lokasi data aplikasi tersebut. Jika data tidak muncul di katalog setelah pengindeks merayapi cakupan perayapannya, maka Anda harus terlebih dahulu memastikan bahwa lokasi data disertakan dalam lingkup perayapan. Anda dapat menambahkannya dengan menggunakan antarmuka pengguna untuk opsi Windows Search atau Crawl Scope Manager. Jika lokasi tampaknya berada dalam cakupan perayapan, Anda dapat memaksa pengindeksan ulang semua URL secara manual dalam cakupan perayapan pengindeks atau subset, dengan menggunakan metode antarmuka ISearchCatalogManager berikut.
Metode pengindeksan ulang | Deskripsi |
---|---|
ISearchCatalogManager::Reindex | Mengindeks ulang semua URL dalam katalog. Informasi lama akan tetap ada sampai digantikan oleh informasi baru. |
ISearchCatalogManager::ReindexMatchingURLs ISearchCatalogManager::ReindexSearchRoot |
Mengindeks ulang URL yang cocok dengan pola atau memulai di root tertentu (misalnya, file:///C:\Foldername\Subfoldername\). Ini berguna untuk mengurai ulang semuanya di direktori tertentu atau dengan ekstensi tertentu, seperti ketika aplikasi diinstal. |
PrioritizeMatchingURLs | Menginstruksikan pengindeks untuk memprioritaskan item pengindeksan dengan URL yang cocok dengan pola tertentu selama menyelesaikan tugas pengindeksan lainnya. |
Mengatur ulang Indeks. Anda dapat mengatur ulang seluruh indeks dengan panggilan ke ISearchCatalogManager::Reset. Ini mengatur ulang katalog yang mendasar dengan membangun kembali database dan melakukan indeks penuh semua URL dalam cakupan perayapan. Proses ini dapat memakan banyak waktu dan harus digunakan hanya sebagai upaya terakhir untuk memecahkan masalah seperti indeks yang mungkin rusak.
Penting
Karena perlambatan pengindeksan yang dapat disebabkan oleh metode ini, metode ini harus digunakan dengan hati-hati ketika Anda mencoba mengidentifikasi masalah pengindeksan atau katalog. Pertama, pastikan akar pencarian dan aturan cakupan Anda ditambahkan di Crawl Scope Manager, lalu pastikan bahwa bit FANCI (Atribut File Tidak Konten Terindeks) diatur dengan benar untuk file dan folder. Jika Anda telah mengonfirmasi bahwa ini benar, coba ReindexSearchRoot terlebih dahulu dan Reindex terakhir. Jika tidak satu pun dari pekerjaan ini, coba Reset sebagai upaya terakhir.
Untuk informasi terkait, lihat Memberi tahu Indeks Perubahan, dan Mengkueri Indeks dengan ISearchQueryHelper
Mengelola Status Katalog
Pengelola Katalog dapat digunakan untuk mendapatkan status katalog untuk aplikasi yang ingin menyesuaikan cara katalog dikelola (misalnya, aplikasi pemantauan "Status Katalog" kustom). Tetapi Pengelola Katalog biasanya tidak diperlukan untuk sebagian besar skenario pengembangan terkait pencarian. Penggunaan umum adalah untuk aplikasi pemantauan "Status Katalog" atau aplikasi gaya Panel Kontrol.
Tabel berikut menjelaskan metode ISearchCatalogManager yang digunakan untuk mengelola status katalog.
Metode | Deskripsi |
---|---|
URLBeingIndexed | Mendapatkan URL yang saat ini sedang diindeks. Metode ini akan berguna jika Anda mencoba mengidentifikasi apakah pengindeks "macet" pada item. |
NumberOfItems | Mendapatkan jumlah item dalam katalog. |
NumberOfItemsToIndex | Mengambil informasi berikut tentang item yang akan diindeks:
|
GetCatalogStatus | Mendapatkan status katalog dan mengembalikan nilai enumerasi yang memberikan status saat ini. Berikut ini adalah kemungkinan status katalog:
|
get_Name | Mendapatkan nama katalog saat ini yang ditentukan dalam metode ISearchManager::GetCatalog . Saat ini, satu-satunya katalog yang didukung adalah SystemIndex. |
Mengelola Properti Katalog
Ada tiga properti katalog yang bisa Anda kelola dengan Pengelola Katalog:
- Sensitivitas diakritik. Diakritik adalah tanda aksen yang ditambahkan ke huruf untuk menandakan arti atau pengucapan kata. Properti ini menentukan apakah katalog sensitif terhadap diakritik, dan penting ketika Anda atau pengguna Anda mencari dan mengindeks teks dalam beberapa bahasa. Misalnya, dengan properti ini diatur ke FALSE, katalog akan memperlakukan "resume" dan "resumé" seolah-olah itu adalah kata yang sama.
- Batas waktu koneksi. Properti ini menunjukkan jumlah waktu untuk menunggu respons koneksi dari server atau penyimpanan data, seperti yang diwakili dalam struktur TIMEOUT_INFO . Anda dapat menggunakan properti ini untuk menyempurnakan Windows Search.
- Batas waktu data Properti ini menunjukkan jumlah waktu untuk menunggu transaksi data antara pengindeks dan penangan protokol atau filter, seperti yang ditunjukkan dalam struktur TIMEOUT_INFO . Jika waktu ini telah berlalu, proses dari Daemon Filter dihentikan untuk mencegah kebuntuan dan masalah sumber daya lainnya.
Dua properti terakhir dimaksudkan terutama untuk digunakan di masa mendatang. Masing-masing properti ini memiliki get
metode dan put
.
Metode | Deskripsi |
---|---|
get_DiacriticSensitivity / put_DiacriticSensitivity |
TRUE jika katalog harus membedakan kata-kata dengan diakritik. FALSE jika katalog harus mengabaikan diakritik. Mengubah properti ini memerlukan pembangunan ulang indeks karena kunci indeks mungkin menjadi tidak valid. |
get_ConnectTimeout / put_ConnectTimeout |
Waktu, dalam hitungan detik, pengindeks harus menunggu respons koneksi dari server atau penyimpanan data. Pengaturan ini terlalu tinggi dapat menyebabkan penundaan jika banyak situs tidak responsif. Mengaturnya terlalu rendah dapat mengakibatkan beberapa situs tidak dirayapi. |
get_DataTimeout / put_DataTimeout |
Waktu, dalam detik, pengindeks harus menunggu transaksi data. |
Berjalan dalam Mode Ditingkatkan
Setiap panggilan metode yang memperbarui SystemIndex mengharuskan aplikasi Anda dijalankan ditinggikan. Jika tidak, aplikasi Anda akan gagal dengan kesalahan Akses Ditolak.
Topik terkait
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk