Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
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:
- Windows Search implementációs megjegyzései
- Windows keresési szűrők
- További erőforrások
- Kapcsolódó témakörök
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: |
|
|
| Az egyes fájlok szűrésének megakadályozása | Adjon hozzá egy meta name címkét a fájlhoz. |
|
|
| 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). |
|
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.
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
- A GitHub IFilterSample kódmintája bemutatja, hogyan hozhat létre IFilter alaposztályt az IFilter felület implementálásához.
- Az indexelési folyamat áttekintését az Az indexelési folyamatcímű cikkben tekintheti meg.
- A fájltípusok áttekintését a fájltípusokcímű témakörben talál.
- A fájltípus fájltársítási attribútumainak lekérdezéséhez lásd: Észlelttípusok, SystemFileAssociations és alkalmazásregisztrációs.
Kapcsolódó témakörök
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ő