Windows ile birlikte gelen filtre işleyicileri

Microsoft, Windows Search ile çeşitli standart filtreler sağlar. İstemciler, bir belgeden metin ve özellikleri ayıklamak için bu filtre işleyicilerini (IFilter arabiriminin uygulamalarıdır) çağırır.

Bu konu aşağıdaki gibi düzenlenmiştir:

  • Windows Search Uygulama Notları
  • windows arama filtreleri
    • MIME Filtre İşleyicisi
    • HTML Filtre İşleyicisi
    • Belge Filtresi İşleyicisi
    • Düz Metin Filtresi İşleyicisi
    • İkili veya Null Filtre İşleyicisi
  • ek kaynaklar
  • İlgili konular

Windows Search uygulama notları

Windows 7 ve sonraki sürümlerde, yönetilen kodda yazılan filtreler açıkça engellenir. Birden çok eklentinin çalıştığı işlemle ilgili olası CLR sürüm oluşturma sorunları nedeniyle filtreler yerel kodda yazılmalıdır.

Windows 7 ve 10 uygulaması

Windows 7 ve sonraki sürümlerde, filtre işleyicisi, özellik işleyicisi veya yeni uzantı kaydederken oluşan yeni davranışlar vardır. Yeni bir özellik işleyicisi ve/veya filtre işleyicisi yüklendiğinde, ilgili uzantılara sahip dosyalar otomatik olarak yeniden dizine eklenir.

Windows 7 ve sonraki sürümlerde, ilgili özellik işleyicileriyle birlikte bir filtre işleyicisi yüklemenizi ve filtre işleyicisini özellik işleyiciden önce kaydetmenizi öneririz. Özellik işleyicisinin kaydı, önce yeniden başlatma gerektirmeden önceden dizinlenmiş dosyaların hemen yeniden dizine alınmasını başlatır ve içerik dizini oluşturma amacıyla önceden kaydedilmiş filtre işleyicilerinden yararlanır.

Yalnızca bir filtre işleyicisi ilgili özellik işleyicisi olmadan yüklenirse, otomatik yeniden dizin oluşturma, dizin oluşturma hizmeti yeniden başlatıldıktan veya sistemin yeniden başlatılmasından sonra gerçekleşir.

Windows 7'ye özgü özellik açıklaması bayrakları için şu başvuru konularına bakın: GETPROPERTYSTOREFLAGS, PROPDESC_COLUMNINDEX_TYPE ve PROPDESC_SEARCHINFO_FLAGS.

Windows Vista uygulaması

Windows Vista'da ve önceki sürümlerde, IFilter veya özellik işleyicisi yüklemek, bağımsız bir yazılım satıcısı (ISV) eşleşen URL'lerin yeniden oluşturulmasını veya yeniden dizine eklenmesini açıkça çağırmadığı sürece mevcut öğelerin yeniden dizine eklenmesini başlatmaz.

Dizin Oluşturma Hizmeti gibi eski uygulamalarla Windows Search gibi filtreler uygularken bilmeniz gereken daha yeni uygulamalar arasında iki önemli fark vardır:

  • IPersistStream arabiriminin kullanımı.
  • Özellik işleyicilerinin kullanımı.

İlk olarak, Windows Vista ve Windows Search 3.0 ve üzeri, aşağıdaki nedenlerle IPersistStream kullanmanızı gerektirir:

  • Performansı ve gelecekteki uyumluluğu sağlamak için.
  • Güvenliği artırmaya yardımcı olmak için. IPersistStream ile uygulanan filtreler daha güvenlidir çünkü filtrenin çalıştırıldığı bağlam, diskteki veya ağ üzerindeki dosyaları açma haklarına ihtiyaç duymaz.

Windows Search yalnızca IPersistStreamkullanıyor olsa da, geriye dönük uyumluluk için filtrelerinize IPersistFile Arabirimi ve/veya IPersistStorage Arabirimi uygulamaları ekleyebilirsiniz.

İkinci önemli fark, Windows Vista ve Windows Search 3.0 ve sonraki sürümlerin, öğelerin özelliklerini numaralandırmak için özellik işleyicileri kullanan yeni bir Özellik Sistemi sahip olmasıdır.

Ancak, aşağıdakileri yapmak için hem içeriği hem de özellikleri işleyen bir filtre uygulamanız gereken zamanlar vardır:

  • Eski MSSearch uygulamalarını destekleyin.
  • Çapraz geçiş bağlantıları.
  • Dil bilgilerini koruyun.
  • Ekli öğeleri özyinelemeli olarak filtreleyin.

Bu durumlarda, özellik değerlerine erişmek için IFilter::GetValue yöntemi de dahil olmak üzere tam bir filtre uygulamasına ihtiyacınız vardır.

Eski uygulama

Daha önce belirtildiği gibi, Windows Vista ve Windows Search bir öğenin içeriğinden ayrı olan özelliklerini kapsülleyen yeni bir özellik sistemi içerir. Bu özellik sistemi, Microsoft Windows Masaüstü Arama (WDS) 2.x'in önceki sürümlerinde mevcut değildir. Filtrenizin yukarıda açıklandığı gibi diğer uygulamaları desteklemesi gerekiyorsa, hem içeriği hem de özellikleri işlemesi gerekebilir.

Uyumlu bir filtre geliştirme hakkında daha fazla bilgi için, IFilter (eski uygulamalar için)ve Filtre Eklentileri Geliştirme (eski uygulamalar için)aşağıdaki konulara bakın.

Windows Search filtreleri

Microsoft, Windows Search ile çeşitli standart filtreler sağlar. IFilter DLL içeriği aşağıdaki tabloda özetlenir. Bir filtre işleyicisinin adına tıklanması sizi bu IFilter uygulamasının açıklamasına götürür.

Filtre işleyicisi Filtrelenen dosyalar IFilter DLL
MIME Filtre İşleyicisi Çok Amaçlı İnternet Posta Uzantısı (MIME) mimefilt.dll
HTML Filtre İşleyicisi HTML 3.0 veya öncesi nlhtml.dll
Belge Filtresi İşleyicisi Microsoft Word, Excel, PowerPoint offfilt.dll
Düz Metin Filtresi İşleyicisi Düz metin dosyaları - Varsayılan IFilter query.dll
İkili veya Null Filtre İşleyicisi İkili dosyalar - Null IFilter query.dll

MIME filtre işleyicisi

MIME filtre işleyicisi (mimefilt.dll) .eml, .mht ve .mhtml uzantılı dosyalardan metin ve özellik bilgilerini ayıklar.

HTML filtre işleyicisi

HTML filtre işleyicisi (nlhtml.dlliçinde), "htmlfiles" sınıfından metin ve özellik bilgilerini ayıklar, böylece Windows Search tarafından dizine alınabilmesini sağlar. IFilter ile dosya türü arasındaki ilişkinin açıklaması için, Filtre İşleyicilerini Kaydetme'nde "Dosya için IFilter DLL'sini Bulma" konusuna bakın.

ÖZEL işleme isteklerini HTML METAiletmek için HTML belgelerinin etiket özelliğini kullanabilirsiniz. META etiketleri, aşağıdaki örnekte gösterildiği gibi HEAD ... /HEAD etiketleri içindeki bir html dosyasının başlangıcına yakın bir zamanda gerçekleşir.

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

Bazı HTML META etiketleri, iyi bilinen özellik kümesi ve özellik kimliği (özellik tanımlayıcısı (PID)) değerleriyle otomatik olarak eşlenir, böylece bu özelliklerdeki sorgular eşlenen içeriği arar. Bazı örnekler aşağıdaki tabloda listelenmiştir. Dosya biçimleriniz için kullanabileceğiniz sistem özelliklerinin listesi için bkz. System-Defined Özel Dosya Biçimleri özellikleri.

Özellik örneği Eşlenen
meta name="author" content="ruth" Özet Bilgileri özellik kümesindeki author özelliği.
meta name="subject" content="word processing" Özet Bilgileri özellik kümesindeki konu özelliği.
meta name="keywords" content="fonts, serif" Özet Bilgileri özellik kümesindeki anahtar sözcük özelliği.
meta name="ms.category" content="fiction" Belge Özet Bilgileri özellik kümesindeki kategori özelliği.

IFilterHTMLbazı özellikleri aşağıdaki tabloda listelenmiştir.

Görev Eylem Örnek
Dosyalardan özel özetler oluşturma META NAME="DESCRIPTION"... belge soyut olarak anahtar sözcüğünü izleyen dizeyi kullanmasını bildirmek için CONTENT etiketini kullanın.

Not:
Filtreleme işlemi, varsayılan olarak dosyanın başındaki bir karakter kümesi olan filtrelenmiş her dosya için özetler oluşturabilir.


<head>
  <META NAME="DESCRIPTION" CONTENT="This text will appear on the results page as the document's summary.">
</head>
 
Tek tek dosyaların filtrelenmesini engelleme Dosyaya bir meta name etiketi ekleyin.
  <meta name="robots" content="noindex">
Bir dosyanın dil kodunu ayarlama (sistemin doğru dil sözcük ayırıcılarını ve kirli sözcük dosyalarını seçtiğinden emin olmak için) dosyaya aşağıdaki meta name etiketini ekleyin; burada içerik alanı uygun dil kodunu belirtir (karakterlerle veya yerel ayar değerini kullanarak).
<meta name="ms.locale" content="EN">
<meta name="ms.locale" content=1033>

Belge filtresi işleyicisi

Belge filtre işleyicisi (offilt.dll) Microsoft Office'teki bazı belge uzantıları için dosyaları filtreler. Bunlar .doc, .mdb, .pptve .xlt uzantılı dosyaları içerir.

Düz metin filtresi işleyicisi

Düz metin dosyaları için Windows Search, hem sistem özelliklerini (dosya adları gibi) hem de dosyanın içeriğini filtreleyen metin filtresi işleyicisini kullanır. Bir dosya türünün kayıt defterinde IFilter ilişkisi olmadığında, Windows Search yalnızca dosyanın Shell özelliklerini dizine alır. Ancak kullanıcı, Dizin Oluşturma Seçenekleri denetim masasındaki Gelişmiş Seçenekler kullanarak Dizin Özellikleri veya Dizin Özellikleri ve Dosya İçeriği.

gelişmiş seçenekler iletişim kutusunu gösteren ekran görüntüsü

Kullanıcı IFilterilişkiliolmayan bir dosya türü için bu seçeneği belirlerse, dosyanın içeriğini ayıklamak için metin filtresi işleyicisi kullanılır. Metin filtresi işleyicisi herhangi bir belge biçimini "anlamaz"; bir dosyanın içeriğini filtrelerken, dosyayı bir karakter dizisi olarak ele alır. Dosyanın başında Unicode bayt sırası işaretini denetler.

İkili veya null filtre işleyicisi

Kayıtlı bir ikili dosyayla karşılaşıldığında null filtre işleyicisi kullanılır. Null filtre işleyicisi yalnızca sistem özelliklerini alır. İkili dosyanın içeriği filtrelenmez. Sistem özelliklerine örnek olarak FileName, LastWriteTime, FileSizeve Öznitelikleriverilebilir.

Ek kaynaklar

Filtre İşleyicileri Geliştirme

Windows Search 'da Filtre İşleyicileri Hakkında

Windows Search 'da Filtre İşleyicileri Oluşturmak için En İyi Yöntemler

Filtre İşleyicisinden Özellik Döndürme

Windows Search'da Filtre İşleyicileri Uygulama

Filtre İşleyicilerini Kaydetme

Test Filtre İşleyicileri