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:
- 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 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: |
|
|
Mencegah file individual difilter | meta name Tambahkan tag ke file. |
|
|
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). |
|
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.
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
- Sampel kode IFilterSample , tersedia di GitHub, menunjukkan cara membuat kelas dasar IFilter untuk mengimplementasikan 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 Pendaftaran Aplikasi.
Topik terkait
Tentang Penangan Filter di Windows Search
Praktik Terbaik untuk Membuat Handler Filter di Windows Search
Mengembalikan Properti dari Penangan Filter
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