Bagikan melalui


Mengelola Akar Pencarian

Crawl Scope Manager (CSM) memungkinkan Anda menambahkan dan menghapus akar pencarian untuk penyimpanan data Anda ke dan dari lingkup perayapan Windows Search.

Topik ini mencakup subjek berikut:

 

Tentang Akar Pencarian

Akar pencarian mendefinisikan dasar namespace Shell di mana cakupan tertentu dapat disertakan atau dikecualikan, dan biasanya merupakan kontainer tingkat tertinggi dalam protokol yang dapat dijumlahkan. Ini tidak menentukan bagian mana dari penyimpanan ini yang harus atau tidak boleh diindeks; ini hanya menandakan bahwa penyimpanan konten ada dan dikaitkan dengan penangan protokol terdaftar. Sintaks untuk mengidentifikasi URL akar pencarian mencakup protokol, pengidentifikasi keamanan penyimpanan atau pengguna, jalur, dan secara opsional item tertentu (seperti file). Contoh berikut menunjukkan dua bentuk sintaks untuk akar pencarian.

<protocol>://<store or SID>\<path>\[item]
or
<protocol>://<store or SID>/<path>/[item]

<Segmen protokol> harus diikuti oleh dua (2) garis miring ke depan ('/') kecuali jika itu adalah file: protokol, yang memerlukan tiga garis miring (file:///). Segmen <situs atau SID> mewakili penyimpanan konten atau pengidentifikasi keamanan pengguna jika akar pencarian dimaksudkan khusus untuk pengguna. Segmen <jalur> adalah sekumpulan kontainer, seperti direktori atau folder, dan dapat menyertakan karakter kartubebas '*'. Segmen <item> bersifat opsional dan juga dapat menyertakan karakter kartubebas '*'. Jika Anda tidak menyertakan item, pastikan untuk menyelesaikan segmen jalur Anda dengan garis miring atau pengindeks akan mengasumsikan bahwa subkontainer terakhir adalah item.

Misalnya, Anda telah menerapkan handler protokol (myPH) untuk menangani file jenis *.myext untuk aplikasi kustom. Semua file ini akan terletak di folder WorkteamA\ProjectFiles di komputer lokal. Akar pencarian untuk yang mungkin terlihat seperti ini:

  • myPH:///C:\WorkteamA\ProjectFiles\

Misalkan Anda berencana untuk menyertakan semua file .myext tetapi tidak ada yang lain dari kontainer tersebut dalam indeks. Akar pencarian untuk yang mungkin terlihat seperti ini:

  • myPH:///C:\WorkteamA\ProjectFiles\*.myext.

Pola kartubebas mendefinisikan URL dengan menggunakan karakter kartubebas '*' dan dianggap sebagai pola daripada URL, tetapi terminologi sering digunakan secara bergantian. Misalnya, file:///C:\ProjectA\*\data\ akan cocok dengan URL berikut:

  • C:\ProjectA\version1\data\
  • C:\ProjectA\version2\data\

Tetapi pola itu tidak akan cocok dengan URL ini:

  • C:\ProjectA\version1\temp\data\

Anda harus membuat akar pencarian baru untuk kontainer yang belum ada dalam lingkup perayapan pengindeks. Jika jalur C:\ParentScope sudah disertakan dalam lingkup perayapan, Anda tidak perlu menambahkan akar pencarian baru untuk C:\ParentScope\ChildScope kecuali Anda tahu bahwa cakupan anak sebelumnya dikecualikan.

Antarmuka pengguna untuk mengatur opsi Windows Search menampilkan akar pencarian kepada pengguna sehingga mereka dapat memperbaiki aturan cakupan untuk pencarian mereka. Sebagai bagian dari proses penginstalan untuk penangan protokol kustom, kontainer, dan/atau aplikasi, Anda dapat menentukan cakupan perayapan default, dengan aturan penyertaan dan pengecualian. Aturan ini disajikan kepada pengguna akhir sebagai lokasi. Pengguna dapat menavigasi dalam subdirektori akar pencarian yang telah ditentukan sebelumnya dan memilih yang ingin mereka sertakan dalam pencarian atau menghapus yang ingin mereka kecualikan.

 

Sebelum Anda mulai

Sebelum dapat menggunakan salah satu antarmuka Crawl Scope Manager (CSM), Anda harus melakukan langkah-langkah prasyarat berikut:

  1. Buat objek CrawlSearchManager dan dapatkan antarmuka ISearchManager-nya .
  2. Panggil ISearchManager::GetCatalog untuk "SystemIndex" untuk mendapatkan instans antarmuka ISearchCatalogManager .
  3. Panggil ISearchCatalogManager::GetCrawlScopeManager untuk mendapatkan instans antarmuka ISearchCrawlScopeManager .

Setelah membuat perubahan apa pun pada Crawl Scope Manager (CSM), Anda harus memanggil ISearchCrawlScopeManager::SaveAll. Metode ini tidak mengambil parameter dan mengembalikan S_OK pada keberhasilan.

 

Windows 7: API Crawl Scope Manager Baru

Di Windows 7 dan yang lebih baru, ISearchCrawlScopeManager2 memperluas fungsionalitas antarmuka ISearchCrawlScopeManager . Metode ISearchCrawlScopeManager2::GetVersion mendapatkan versi Crawl Scope Manager (CSM), yang memberi tahu klien jika status CSM telah berubah. ISearchCrawlScopeManager2::GetVersion tidak menghasilkan panggilan lintas proses. Jika fungsi berhasil, maka pointer yang dikembalikan tetap valid sampai klien memanggil UnmapViewOfFile pada pointer dan CloseHandle pada handel yang dikembalikan.

 

Menambahkan Akar ke Lingkup Perayapan

ISearchCrawlScopeManager memberi tahu mesin pencari tentang kontainer untuk dirayapi dan/atau watch, dan item di bawah kontainer tersebut untuk disertakan atau dikecualikan. Untuk menambahkan akar pencarian baru, buat instans objek ISearchRoot , atur atribut akar, lalu panggil ISearchCrawlScopeManager::AddRoot dan berikan penunjuk ke objek ISearchRoot Anda. URL akar pencarian mengambil formulir yang sama dengan akar pencarian yang dijelaskan sebelumnya.

Tabel berikut menjelaskan metode put yang relevan untuk ISearchRoot; metode put antarmuka lainnya tidak digunakan saat ini oleh Windows Search. Sebaiknya masukkan pengidentifikasi keamanan pengguna (SID) di semua akar untuk keamanan yang lebih baik. Akar per pengguna lebih aman karena kueri dijalankan dalam proses per pengguna, memastikan bahwa satu pengguna tidak dapat melihat item yang diindeks dari kotak masuk pengguna lain, misalnya.

Metode Deskripsi
put_ProvidesNotifications Atur ke TRUE jika handler protokol atau aplikasi lain akan memberi tahu mesin pencari tentang perubahan pada URL di bawah akar pencarian. Pemberitahuan menunjukkan bahwa URL perlu diindeks ulang.
put_RootURL Mengatur URL akar dari pencarian saat ini. URL mengambil formulir akar pencarian yang dijelaskan sebelumnya.

 

 

Secara default, pengindeks tidak merayapkan cakupan saat Anda menambahkan akar pencarian. Anda juga harus menambahkan aturan include untuk root. Jika Anda ingin menambahkan akar khusus pengguna untuk aplikasi, aplikasi tersebut harus menambahkan akar yang sesuai untuk pengguna baru saat aplikasi dimulai.

Untuk menambahkan akar yang sesuai untuk pengguna baru:

  1. Dapatkan SID pengguna.
  2. Hitung semua akar untuk memeriksa apakah ada untuk SID ini.
  3. Tambahkan akar baru, menggunakan SID, jika perlu.

 

Menghapus Akar dari Lingkup Perayapan

Anda dapat menggunakan ISearchCrawlScopeManager untuk menghapus akar dari cakupan perayapan saat Anda tidak lagi ingin URL tersebut diindeks. Menghapus akar juga menghapus semua aturan cakupan untuk URL tersebut. Misalnya, Anda ingin menghapus instalasi penyimpanan konten dan/atau penangan protokolnya dari sistem. Anda dapat menghapus instalan aplikasi, menghapus semua data, lalu menghapus akar pencarian dari cakupan perayapan, dan Crawl Scope Manager akan menghapus akar dan semua aturan cakupan yang terkait dengan akar.

Untuk menghapus akar pencarian yang ada, panggil ISearchCrawlScopeManager::RemoveRoot dengan akar pencarian yang ingin Anda hapus. URL akar pencarian mengambil formulir yang sama dengan akar pencarian yang dijelaskan sebelumnya. Metode ini mengembalikan S_FALSE jika akar tidak ditemukan dan kode kesalahan jika ada kesalahan saat menghapus akar yang ditemukan.

Menghapus akar pencarian juga menghapus URL dari antarmuka pengguna untuk opsi Windows Search, sehingga pengguna mungkin tidak dapat menambahkan kembali kontainer atau lokasi tersebut menggunakan antarmuka pengguna. Dimungkinkan juga untuk menghapus semua penimpaan akar pencarian yang ditetapkan pengguna dan kembali ke akar pencarian asli dan aturan cakupan. Untuk informasi selengkapnya, lihat Mengelola Aturan Cakupan.

Catatan

Di Windows Vista, jika pengguna dihapus melalui Profil Pengguna di Panel Kontrol, CSM menghapus semua aturan dan root dengan SID mereka dan menghapus item terindeks mereka dari katalog. Pada Windows XP, Anda perlu menghapus akar dan aturan pengguna secara manual.

 

 

Menghitung Akar dalam Lingkup Perayapan

CSM menghitung akar pencarian menggunakan antarmuka enumerator gaya COM standar, IEnumSearchRoots. Anda dapat menggunakan antarmuka ini untuk menghitung akar pencarian untuk sejumlah tujuan. Misalnya, Anda mungkin ingin menampilkan seluruh cakupan perayapan di antarmuka pengguna, atau menemukan apakah akar tertentu atau anak dari akar sudah berada dalam cakupan perayapan.

 

Referensi

ISearchCrawlScopeManager

ISearchRoot

IEnumSearchRoots

Konseptual

Menggunakan Pengelola Lingkup Perayapan

Mengelola Aturan Cakupan