Bagikan melalui


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:

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:
  • plIncrementalCount - jumlah item yang akan diindeks dalam indeks inkremental berikutnya
  • plNotificationQueue - jumlah item dalam antrean pemberitahuan. Informasi ini akan berguna untuk aplikasi pemberitahuan yang diperlukan untuk memeriksa apakah pengindeks menerima pemberitahuan yang dikirim aplikasi.
  • plHighPriorityQueue - jumlah item dalam antrean berprioritas tinggi. Item dalam plHighPriorityQueue diindeks terlebih dahulu.
GetCatalogStatus Mendapatkan status katalog dan mengembalikan nilai enumerasi yang memberikan status saat ini. Berikut ini adalah kemungkinan status katalog:
  • Menganggur: Tidak diperlukan pengindeksan.
  • Dijeda: Pengindeksan dijeda (karena baterai rendah atau penggunaan CPU yang tinggi, misalnya).
  • Pemulihan: Pengindeksan sedang dipulihkan.
  • Perayapan penuh: Pengindeks melakukan perayapan penuh dari cakupan rayapan.
  • Perayapan inkremental: Pengindeks melakukan perayapan bertahap.
  • Memproses pemberitahuan: Pengindeks sedang memproses pemberitahuan.
  • Mematikan: Pengindeks dimatikan.
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.

Mengelola Indeks

Antarmuka untuk Mengelola Indeks

Menggunakan Manajer Pencarian

Menggunakan Pengelola Lingkup Perayapan