Bagikan melalui


Filter Handler yang Dikirim dengan Windows

Microsoft menyediakan beberapa filter standar dengan Windows Search. Klien memanggil handler filter ini (yang merupakan implementasi antarmuka IFilter ) untuk mengekstrak teks dan properti dari dokumen.

Topik ini diatur sebagai berikut:

Catatan Implementasi Windows Search

Di Windows 7 dan yang lebih baru, filter yang ditulis dalam kode terkelola secara eksplisit diblokir. Filter HARUS ditulis dalam kode asli karena potensi masalah penerapan versi CLR dengan proses yang dijalankan beberapa add-in.

Implementasi Windows 7 dan 10

Di Windows 7 dan yang lebih baru, ada perilaku baru yang terjadi saat mendaftarkan handler filter, handler properti, atau ekstensi baru. Saat handler properti baru dan/atau handler filter diinstal, file dengan ekstensi yang sesuai secara otomatis diindeks ulang.

Di Windows 7 dan yang lebih baru, kami sarankan Anda menginstal handler filter bersama dengan handler properti yang sesuai, dan Anda mendaftarkan handler filter sebelum handler properti. Pendaftaran handler properti memulai pengindeksan ulang langsung dari file yang diindeks sebelumnya tanpa terlebih dahulu memerlukan hidupkan ulang, dan memanfaatkan penangan filter yang terdaftar sebelumnya untuk tujuan pengindeksan konten.

Jika hanya handler filter yang diinstal tanpa handler properti yang sesuai, maka pengindeksan ulang otomatis terjadi baik setelah menghidupkan ulang layanan pengindeksan, atau menghidupkan ulang sistem.

Untuk bendera deskripsi properti khusus untuk Windows 7, lihat topik referensi berikut: GETPROPERTYSTOREFLAGS, PROPDESC_COLUMNINDEX_TYPE , dan PROPDESC_SEARCHINFO_FLAGS.

Implementasi Windows Vista

Di Windows Vista dan yang lebih lama, menginstal IFilter atau handler properti tidak memulai pengindeksan ulang item yang ada kecuali vendor perangkat lunak independen (ISV) secara eksplisit memanggil pembangunan kembali atau pengindeksan ulang URL yang cocok.

Ada dua perbedaan utama antara aplikasi lama seperti Layanan Pengindeksan dan aplikasi yang lebih baru seperti Windows Search yang harus Anda ketahui saat menerapkan filter:

Pertama, Windows Vista dan Windows Search 3.0 dan yang lebih baru mengharuskan Anda menggunakan IPersistStream karena alasan berikut:

  • Untuk memastikan performa dan kompatibilitas di masa mendatang.
  • Untuk membantu meningkatkan keamanan. Filter yang diterapkan dengan IPersistStream lebih aman karena konteks di mana filter berjalan tidak memerlukan hak untuk membuka file pada disk atau melalui jaringan.

Meskipun Windows Search hanya menggunakan IPersistStream, Anda juga dapat menyertakan implementasi Antarmuka IPersistFile dan/atau Antarmuka IPersistStorage di filter Anda untuk kompatibilitas mundur.

Perbedaan utama kedua adalah Windows Vista dan Windows Search 3.0 dan yang lebih baru memiliki Sistem Properti baru yang menggunakan penangan properti untuk menghitung properti item.

Namun, ada kalanya Anda perlu menerapkan filter yang menangani konten dan properti untuk:

  • Mendukung implementasi MSSearch warisan.
  • Melintasi tautan.
  • Pertahankan informasi bahasa.
  • Memfilter item yang disematkan secara rekursif.

Dalam situasi ini, Anda memerlukan implementasi filter penuh, termasuk metode IFilter::GetValue untuk mengakses nilai properti.

Implementasi Warisan

Seperti disebutkan sebelumnya, Windows Vista dan Windows Search menyertakan sistem properti baru yang merangkum properti item yang terpisah dari isi item. Sistem properti ini tidak ada di versi Sebelumnya dari Microsoft Windows Desktop Search (WDS) 2.x. Jika filter Anda harus mendukung aplikasi lain seperti yang dijelaskan di atas, filter mungkin perlu menangani konten dan properti.

Untuk informasi selengkapnya tentang mengembangkan filter yang kompatibel, lihat topik berikut, IFilter (untuk aplikasi warisan), dan Mengembangkan Add-in Filter (untuk aplikasi lama).

Filter Windows Search

Microsoft menyediakan beberapa filter standar dengan Windows Search. Konten DLL IFilter diringkas dalam tabel berikut ini. Mengklik nama handler filter akan membawa Anda ke deskripsi untuk implementasi IFilter tersebut.

Penangan filter File difilter IFilter DLL
MIME Filter Handler Ekstensi Surat Internet Multiguna (MIME) mimefilt.dll
Penangan Filter HTML HTML 3.0 atau yang lebih lama nlhtml.dll
Penangan Filter Dokumen Microsoft Word, Excel, PowerPoint offfilt.dll
Penangan Filter Teks Biasa File teks biasa - IFilter Default query.dll
Penangan Filter Biner atau Null File biner - Null IFilter query.dll

MIME Filter Handler

Handler filter MIME (dalam mimefilt.dll) mengekstrak informasi teks dan properti dari file dengan ekstensi .eml, .mht, dan .mhtml.

Penangan Filter HTML

Handler filter HTML (dalam nlhtml.dll) mengekstrak informasi teks dan properti dari kelas "htmlfiles" sehingga dapat diindeks oleh Windows Search. Untuk deskripsi asosiasi antara IFilter dan jenis file, lihat "Menemukan DLL IFilter untuk File" di Mendaftarkan Penangan Filter.

Anda dapat menggunakan META fitur tag dokumen HTML untuk menyampaikan permintaan penanganan khusus ke HTML IFilter. META tag terjadi di dekat awal file html dalam HEAD ... /HEAD tag, seperti yang diilustrasikan dalam contoh berikut.

   <head>
     <META NAME="DESCRIPTION"
           CONTENT="This text appears on the results page as the document's summary.">
   </head>

Beberapa tag HTML META secara otomatis dipetakan ke kumpulan properti terkenal dan nilai ID properti (pengidentifikasi properti (PID)) sehingga kueri pada properti ini akan mencari konten yang dipetakan. Beberapa contoh tercantum dalam tabel berikut. Untuk daftar properti sistem yang bisa Anda gunakan untuk format file Anda, lihat Properti yang Ditentukan Sistem untuk Format File Kustom.

Contoh properti Dipetakan ke
meta name="author" content="ruth" Properti pembuat dalam kumpulan properti Informasi Ringkasan.
meta name="subject" content="word processing" Properti subjek dalam kumpulan properti Informasi Ringkasan.
meta name="keywords" content="fonts, serif" Properti kata kunci dalam kumpulan properti Informasi Ringkasan.
meta name="ms.category" content="fiction" Properti kategori dalam kumpulan properti Informasi Ringkasan dokumen.

Beberapa fitur HTML IFilter tercantum dalam tabel berikut.

Tugas Tindakan Contoh
Membuat abstrak khusus dari file META NAME="DESCRIPTION"... Gunakan tag untuk menginstruksikan IFilter untuk menggunakan string yang CONTENT mengikuti kata kunci sebagai abstrak dokumen.

Catatan:
Proses pemfilteran dapat menghasilkan abstrak untuk setiap file yang difilter, yang defaultnya menjadi sekumpulan karakter di awal file.


<head>
  <META NAME="DESCRIPTION" CONTENT="This text will appear on the results page as the document's summary.">
</head>
 
Mencegah file individual difilter meta name Tambahkan tag ke file.
  <meta name="robots" content="noindex">
Mengatur kode bahasa untuk file (untuk memastikan sistem memilih pemecah kata bahasa dan file kata kebisingan yang benar) Tambahkan tag berikut meta name ke file, di mana bidang konten menentukan kode bahasa yang sesuai (baik dalam karakter atau dengan menggunakan nilai lokal).
<meta name="ms.locale" content="EN">
<meta name="ms.locale" content=1033>

Penangan Filter Dokumen

Penangan filter dokumen (dalam offilt.dll) memfilter file untuk beberapa ekstensi dokumen di Microsoft Office. Ini termasuk file dengan ekstensi .doc, .mdb, .ppt, dan .xlt, misalnya.

Penangan Filter Teks Biasa

Untuk file teks biasa, Windows Search menggunakan penangan filter teks, yang memfilter properti sistem (seperti nama file) dan konten file. Ketika tipe file tidak memiliki asosiasi IFilter dalam registri, Windows Search hanya mengindeks properti Shell untuk file tersebut. Namun pengguna dapat menggunakan Opsi Tingkat Lanjut di panel kontrol Opsi Pengindeksan untuk Properti Indeks atau Properti Indeks dan Konten File.

cuplikan layar memperlihatkan kotak dialog opsi tingkat lanjut

Jika pengguna memilih opsi ini untuk jenis file tanpa IFilter terkait, handler filter teks digunakan untuk mengekstrak konten file. Handler filter teks tidak "memahami" format dokumen apa pun; saat memfilter konten file, file diperlakukan sebagai urutan karakter. Ini memeriksa tanda urutan byte Unicode di awal file.

Penangan Filter Biner atau Null

Ketika file biner terdaftar ditemukan, handler filter null digunakan. Penangan filter null hanya mengambil properti sistem. Isi file biner tidak difilter. Contoh properti sistem adalah FileName, LastWriteTime, FileSize, dan Attributes.

Sumber Daya Tambahan

Mengembangkan Penangan Filter

Tentang Penangan Filter di Windows Search

Praktik Terbaik untuk Membuat Handler Filter di Windows Search

Mengembalikan Properti dari Penangan Filter

Menerapkan Penangan Filter di Windows Search

Mendaftarkan Penangan Filter

Menguji Penangan Filter