A Windows használatával szállított kezelők szűrése

A Microsoft számos szabványos szűrőt biztosít a Windows Search szolgáltatással. Az ügyfelek meghívják ezeket a szűrőkezelőket (amelyek az IFilter felület implementációi), hogy szöveget és tulajdonságokat nyerjenek ki egy dokumentumból.

Ez a témakör a következőképpen van rendszerezve:

A Windows Search implementálási megjegyzései

A Windows 7-ben és újabb verziókban a felügyelt kódban írt szűrők kifejezetten le vannak tiltva. A szűrőket natív kódban kell írni, mert a clr-verziószámozási problémák miatt több bővítmény is futtatható.

Windows 7 és 10 implementáció

A Windows 7-ben és újabb verziókban új viselkedés tapasztalható a szűrőkezelő, a tulajdonságkezelő vagy az új bővítmény regisztrálásakor. Új tulajdonságkezelő és/vagy szűrőkezelő telepítésekor a rendszer automatikusan újraindexeli a megfelelő bővítményeket tartalmazó fájlokat.

Windows 7-ben és újabb verziókban javasoljuk, hogy telepítsen egy szűrőkezelőt a megfelelő tulajdonságkezelőkkel együtt, és regisztrálja a szűrőkezelőt a tulajdonságkezelő előtt. A tulajdonságkezelő regisztrálása anélkül kezdeményezi a korábban indexelt fájlok azonnali újraindexelését, hogy először újra kellene indítani, és kihasználja a korábban regisztrált szűrőkezelőket a tartalomindexelés céljából.

Ha csak egy szűrőkezelő van telepítve a megfelelő tulajdonságkezelő nélkül, akkor az automatikus újraindexelés az indexelési szolgáltatás újraindítása vagy a rendszer újraindítása után történik.

A Windows 7-hez kapcsolódó tulajdonságleírás-jelzőkért tekintse meg a következő referenciatémaköröket: GETPROPERTYSTOREFLAGS, PROPDESC_COLUMNINDEX_TYPE és PROPDESC_SEARCHINFO_FLAGS.

Windows Vista implementáció

Windows Vista és korábbi verziókban az IFilter vagy tulajdonságkezelő telepítése nem kezdeményezi a meglévő elemek újraindexelését, kivéve, ha egy független szoftvergyártó (ISV) kifejezetten meghívja az egyező URL-címek újraépítését vagy újraindexelését.

Az örökölt alkalmazások, például az Indexing Service és az újabb alkalmazások, például a Windows Search két fő különbséget mutatnak, amelyeket érdemes figyelembe venni a szűrők implementálása során:

  • Az IPersistStream felület használata.
  • Tulajdonságkezelők használata.

Először is a Windows Vista és a Windows Search 3.0 vagy újabb verziójához IPersistStream kell használnia az alábbi okokból:

  • A teljesítmény és a jövőbeli kompatibilitás biztosítása.
  • A biztonság növelése érdekében. Az IPersistStream által implementált szűrők biztonságosabbak, mert a szűrő futtatásához nincs szükség a fájlok lemezen vagy hálózaton keresztüli megnyitásához szükséges jogosultságokra.

Bár a Windows Search csak IPersistStreamhasznál, IPersistFile interface és/vagy IPersistStorage interface implementációkat is tartalmazhat a szűrőkben a visszamenőleges kompatibilitás érdekében.

A második fő különbség az, hogy a Windows Vista és a Windows Search 3.0 és újabb verziói új tulajdonságrendszer-, amely tulajdonságkezelőkkel számba veszi az elemek tulajdonságait.

Vannak azonban olyan esetek, amikor olyan szűrőt kell implementálnia, amely a tartalmat és a tulajdonságokat is kezeli a következők érdekében:

  • Támogatja az örökölt MSSearch-implementációkat.
  • Kereszthivatkozások.
  • Nyelvi információk megőrzése.
  • A beágyazott elemek rekurzív szűrése.

Ilyen helyzetekben teljes szűrő implementációra van szükség, beleértve az IFilter::GetValue metódust a tulajdonságértékek eléréséhez.

Örökölt implementáció

Ahogy korábban említettük, a Windows Vista és a Windows Search tartalmaz egy új tulajdonságrendszert, amely egy elem tartalmától független tulajdonságokat foglal magában. Ez a tulajdonságrendszer nem létezik a Microsoft Windows Desktop Search (WDS) 2.x korábbi verzióiban. Ha a szűrőnek más alkalmazásokat is támogatnia kell a fent leírtak szerint, előfordulhat, hogy a tartalmat és a tulajdonságokat is kezelnie kell.

A kompatibilis szűrők fejlesztésével kapcsolatos további információkért tekintse meg az alábbi témaköröket, az IFiltert (örökölt alkalmazásokhoz), és Szűrő bővítmények fejlesztése (örökölt alkalmazásokhoz).

Windows Search-szűrők

A Microsoft számos szabványos szűrőt biztosít a Windows Search szolgáltatással. Az IFilter DLL-tartalma az alábbi táblázatban található. A szűrőkezelő nevére kattintva megjelenik az adott IFilter-implementáció leírása.

Szűrőkezelő Szűrt fájlok IFilter DLL
MIME szűrőkezelő Többcélú internetposta-bővítmény (MIME) mimefilt.dll
HTML-szűrőkezelő HTML 3.0 vagy korábbi nlhtml.dll
dokumentumszűrő-kezelő Microsoft Word, Excel, PowerPoint offfilt.dll
Egyszerű szövegszűrő kezelő Egyszerű szöveges fájlok – Alapértelmezett IFilter query.dll
Bináris vagy Null szűrőkezelő Bináris fájlok – Null IFilter query.dll

MIME szűrőkezelő

A MIME szűrőkezelő (mimefilt.dll) a .eml, .mht és .mhtml kiterjesztésű fájlokból kinyeri a szöveg- és tulajdonságadatokat.

HTML-szűrőkezelő

A HTML-szűrőkezelő (nlhtml.dll) kinyeri a szöveg- és tulajdonságadatokat a "htmlfiles" osztályból, hogy a Windows Search indexelhesse. A IFilter és a fájltípus közötti társítás leírását lásd: "Az IFilter DLL megkeresése fájlhoz" című témakör Szűrőkezelők regisztrálása.

A HTML-dokumentumok META címke funkciójával speciális kezelési kéréseket továbbíthat a HTML-IFilter. META címkék a html-fájl elején, a HEAD ... /HEAD címkéken belül fordulnak elő az alábbi példában látható módon.

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

Egyes HTML-META címkék automatikusan jól ismert tulajdonságkészlet- és tulajdonságazonosító-(PID-) értékekre vannak leképezve, hogy az ezeken a tulajdonságokon lévő lekérdezések a megfeleltetett tartalomban kereshessenek. Néhány példa az alábbi táblázatban található. A fájlformátumokhoz használható rendszertulajdonságok listáját az System-Defined Egyéni fájlformátumok tulajdonságaicímű témakörben találja.

Példa tulajdonságra Megfeleltetés:
meta name="author" content="ruth" A Author tulajdonság az Summary Information tulajdonságkészletben.
meta name="subject" content="word processing" A Tulajdonos tulajdonság az Summary Information tulajdonságkészletben.
meta name="keywords" content="fonts, serif" A kulcsszótulajdonság az Summary Information tulajdonságkészletben.
meta name="ms.category" content="fiction" A kategóriatulajdonság a dokumentum Összesítő információ tulajdonságkészletében.

Az IFilterHTML-egyes funkcióit az alábbi táblázat sorolja fel.

Feladat Akció Példa
Speciális kivonatok létrehozása fájlokból A META NAME="DESCRIPTION"... címkével utasíthatja az IFilter, hogy a CONTENT kulcsszót követő sztringet használja a dokumentum absztraktjaként.

megjegyzés:
A szűrési folyamat absztrakciókat hozhat létre minden szűrt fájlhoz, amely alapértelmezés szerint karakterkészlet a fájl elején.


<head>
  <META NAME="DESCRIPTION" CONTENT="This text will appear on the results page as the document's summary.">
</head>
 
Az egyes fájlok szűrésének megakadályozása Adjon hozzá egy meta name címkét a fájlhoz.
  <meta name="robots" content="noindex">
Fájl nyelvi kódjának beállítása (annak biztosítása érdekében, hogy a rendszer a megfelelő nyelvi szóelválasztókat és zajos szófájlokat válassza) Adja hozzá a következő meta name címkét a fájlhoz, ahol a tartalommező megadja a megfelelő nyelvi kódot (karakterekben vagy a területi érték használatával).
<meta name="ms.locale" content="EN">
<meta name="ms.locale" content=1033>

Dokumentumszűrő-kezelő

A Dokumentumszűrő kezelő (offilt.dll) szűri a fájlokat a Microsoft Office-dokumentumok egyes bővítményeihez. Ilyenek például a .doc, .mdb, .pptés .xlt kiterjesztésű fájlok.

Egyszerű szöveges szűrőkezelő

Egyszerű szöveges fájlok esetén a Windows Search a szövegszűrő-kezelőt használja, amely a rendszer tulajdonságait (például a fájlneveket) és a fájl tartalmát is szűri. Ha egy fájltípushoz nincs IFilter társítás a beállításjegyzékben, a Windows Search csak a fájl Shell-tulajdonságait indexeli. A felhasználó azonban a Indexelési beállítások vezérlőpult Speciális beállítások segítségével indextulajdonságokat vagy indextulajdonságokat és fájltartalmakat.

speciális beállítások párbeszédpanel

Ha a felhasználó ezt a beállítást választja a társított IFilter-nélküli fájltípushoz, a rendszer a szövegszűrő-kezelőt használja a fájl tartalmának kinyeréséhez. A szövegszűrő kezelője nem "ért" semmilyen dokumentumformátumot; a fájl tartalmának szűrésekor a fájlt karaktersorozatként kezeli. A fájl elején ellenőrzi a Unicode bájtsorrendjelet.

Bináris vagy null szűrőkezelő

Regisztrált bináris fájl észlelésekor a rendszer a null szűrőkezelőt használja. A null szűrőkezelő csak a rendszertulajdonságokat kéri le. A bináris fájlok tartalma nincs szűrve. A rendszertulajdonságok közé tartoznak például FileName, LastWriteTime, FileSizeés Attribútumok.

További erőforrások

Szűrőkezelők fejlesztése

A Windows Search szűrőkezelőiről

Ajánlott eljárások szűrőkezelők windowsos keresési

Tulajdonságok visszaadása szűrőkezelő

Szűrőkezelők implementálása a Windows Search

Szűrőkezelők regisztrálása

szűrőkezelők