Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Microsoft menyediakan beberapa filter standar dengan Windows Search. Klien memanggil handler filter ini (yang merupakan implementasi antarmukaIFilter) untuk mengekstrak teks dan properti dari dokumen.
Topik ini diatur sebagai berikut:
-
Catatan Implementasi Windows Search
- Implementasi Windows 7 dan 10
- Implementasi Windows Vista
- Implementasi Warisan
-
Filter Pencarian Windows
- Handler Filter MIME
- Handler Filter HTML
- Handler Filter Dokumen
- Handler Filter Teks Biasa
- Penangan Filter Biner atau Null
- Sumber Daya Tambahan
- Topik terkait
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. Ketika 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 segera dari file yang diindeks sebelumnya tanpa terlebih dahulu memerlukan mulai ulang, dan memanfaatkan handler 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 memulai 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, menginstalIFilteratau handler properti tidak memulai pengindeksan ulang item yang ada kecuali vendor perangkat lunak independen (ISV) secara eksplisit memanggil pembangunan ulang atau pengindeksan ulang URL yang cocok.
Ada dua perbedaan utama antara aplikasi warisan seperti Layanan Pengindeksan dan aplikasi yang lebih baru seperti Windows Search yang harus Anda waspadai saat menerapkan filter:
- Penggunaan antarmuka IPersistStream.
- Penggunaan handler properti.
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 IPersistFile Interface dan/atau IPersistStorage Interface implementasi dalam 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 Microsoft Windows Desktop Search (WDS) 2.x yang lebih lama. 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 warisan).
Filter Pencarian Windows
Microsoft menyediakan beberapa filter standar dengan Windows Search. Konten IFilter DLL dirangkum dalam tabel berikut. Mengklik nama handler filter akan membawa Anda ke deskripsi untuk implementasi IFilter tersebut.
| Penangan filter | File difilter | IFilter DLL |
|---|---|---|
| Handler Filter MIME | Ekstensi Surat Internet Multiguna (MIME) | mimefilt.dll |
| Handler Filter HTML | HTML 3.0 atau yang lebih lama | nlhtml.dll |
| Handler Filter Dokumen | Microsoft Word, Excel, PowerPoint | offfilt.dll |
| Handler Filter Teks Biasa | File teks biasa - IFilter Default | query.dll |
| Penangan Filter Biner atau Null | File biner - IFilter Null | query.dll |
Handler filter MIME
Handler filter MIME (dalam mimefilt.dll) mengekstrak informasi teks dan properti dari file dengan ekstensi .eml, .mht dan .mhtml.
Handler filter HTML
Handler filter HTML (dalam nlhtml.dll) mengekstrak informasi teks dan properti dari kelas "htmlfiles" sehingga dapat diindeks oleh Windows Search. Untuk deskripsi hubungan antara IFilter dan jenis file, lihat "Menemukan DLL IFilter untuk File" di Mendaftarkan Penangan Filter.
Anda dapat menggunakan fitur tag META dokumen HTML untuk menyampaikan permintaan penanganan khusus ke HTML IFilter.
META tag terjadi di dekat awal file html dalam tag HEAD ... /HEAD, 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 META HTML secara otomatis dipetakan ke set 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 System-Defined 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 | Perbuatan | Contoh | |
|---|---|---|---|
| Membuat abstrak khusus dari file | Gunakan tag META NAME="DESCRIPTION"... untuk menginstruksikanIFilteruntuk menggunakan string mengikuti kata kunci CONTENT sebagai abstrak dokumen.
Catatan: |
|
|
| Mencegah file individual difilter | Tambahkan tag meta name ke file. |
|
|
| Mengatur kode bahasa untuk file (untuk memastikan sistem memilih pemecah kata bahasa yang benar dan file kata kebisingan) | Tambahkan tag meta name berikut ke file, di mana bidang konten menentukan kode bahasa yang sesuai (baik dalam karakter atau dengan menggunakan nilai lokal). |
|
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 asosiasiIFilterdalam 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.
Jika pengguna memilih opsi ini untuk jenis file tanpa terkait IFilter, penangan filter teks digunakan untuk mengekstrak konten file. Handler filter teks tidak "memahami" format dokumen apa pun; saat memfilter konten file, file tersebut memperlakukan file 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. Handler filter null hanya mengambil properti sistem. Konten file biner tidak difilter. Contoh properti sistem adalah FileName, LastWriteTime, FileSize, dan atribut .
Sumber daya tambahan
- Sampel kode IFilterSample, tersedia di GitHub, menunjukkan cara membuat kelas dasar IFilter untuk menerapkan antarmuka IFilter.
- Untuk gambaran umum proses pengindeksan, lihat Proses Pengindeksan.
- Untuk gambaran umum jenis file, lihat Jenis File.
- Untuk mengkueri atribut asosiasi file untuk jenis file, lihat PerceivedTypes, SystemFileAssociations, dan Application Registration.
Topik terkait
Tentang Penangan Filter di Windows Search
Praktik Terbaik untuk Membuat Handler Filter di Windows Search
Mengembalikan Properti dari Handler Filter