A Windows Search áttekintése

A Windows Search egy asztali keresési platform, amely azonnali keresési képességekkel rendelkezik a leggyakoribb fájltípusokhoz és adattípusokhoz, és a külső fejlesztők kiterjeszthetik ezeket a képességeket az új fájltípusokra és adattípusokra.

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

Bevezetés

A Windows Search a Windows 7 és a Windows Vista standard összetevője, és alapértelmezés szerint engedélyezve van. A Windows Search a Windows XP és a Windows Server 2003 bővítményeként elérhető Windows Desktop Search (WDS) helyére került.

A Windows Search három összetevőből áll:

Windows Search szolgáltatás

A WSS rendszerezi egy dokumentumgyűjtemény kinyert funkcióit. A Windows Keresési protokoll lehetővé teszi az ügyfél számára, hogy egy WSS-t futtató kiszolgálóval kommunikáljon, mind lekérdezések kiállításához, mind pedig az indexelő kiszolgáló felügyeletéhez. Fájlok feldolgozásakor a WSS elemzi a dokumentumok egy készletét, hasznos információkat nyer ki, majd rendszerezi a kinyert információkat, hogy a dokumentumok tulajdonságai hatékonyan visszaadhatók legyenek a lekérdezésekre válaszul.

A lekérdezhető dokumentumok gyűjteménye egy katalógusból áll, amely a Windows Search legmagasabb szintű szervezeti egysége. A katalógus olyan indexelt dokumentumokat jelöl, amelyek lekérdezhetők. A katalógus egy tulajdonságtáblából áll, amely a tábla oszlopaiban tárolt szöveget vagy értéket és a megfelelő helyet (területi beállításokat) tartalmazza. A táblázat minden sora egy külön dokumentumnak felel meg a katalógus hatókörében, és a tábla minden oszlopa egy tulajdonságnak felel meg. A katalógus tartalmazhat invertált indexet (a gyors szóegyeztetéshez) és egy tulajdonság-gyorsítótárat (a tulajdonságértékek gyors lekéréséhez).

Az indexelő folyamat a LocalSystem-fiókban futó Windows-szolgáltatásként van implementálva, és mindig az összes felhasználónál fut (még akkor is, ha nincs bejelentkezve felhasználó), ami lehetővé teszi a Windows Search számára a következőket:

  • Tartson fenn egy indexet, amely minden felhasználó között meg van osztva.
  • A tartalomhozzáférésre vonatkozó biztonsági korlátozások fenntartása.
  • Távoli lekérdezések feldolgozása a hálózat ügyfélszámítógépeiről.

A Keresési szolgáltatás úgy lett kialakítva, hogy megvédje a felhasználói élményt és a rendszer teljesítményét az indexelés során. A következő feltételek miatt a szolgáltatás vissza- vagy szünetelteti az indexelést:

  • Magas processzorhasználat nem kereséssel kapcsolatos folyamatok esetén.
  • Magas I/O-rendszerteljesítmény, beleértve a fájlműveleteket, a lapozófájl és a fájltárhoz tartozó I/O-t, valamint a térképezett fájl I/O-t.
  • Kevés memória áll rendelkezésre.
  • Alacsony akkumulátor-üzemidő.
  • Kevés lemezterület az indexet tároló meghajtón.

Fejlesztési platform

A Keresési API-k elérésének és a Windows Search-alkalmazások létrehozásának elsődleges módja egy Shell-adatforrás. A Shell-adatforrások olyan összetevők, amelyek a Shell-névtér kibővítésére és az adattárban lévő elemek elérhetővé tételére szolgálnak. Az adattár az adatok adattára. Az adattárak a Shell-programozási modell számára egy Shell-adatforrást használó tárolóként is elérhetők. Az adattár elemeit a Windows Search rendszer egy protokollkezelővel indexelheti.

Például ISearchFolderItemFactory olyan összetevő, amely létrehozhatja a keresési mappa adatforrásának példányait, amely a Shell által biztosított egyfajta "virtuális" adatforrás, amely lekérdezéseket hajthat végre más adatforrásokon a Shell-névtérben, és számba tudja adni az eredményeket. Ezt megteheti az indexelő használatával, vagy manuálisan a megadott hatókörök elemeinek számbavételével és vizsgálatával. Ez a felület lehetővé teszi a keresési paraméterek beállítását a keresési mappákat létrehozó és módosító módszerekkel. Ha a rendszer nem hívja meg a felület metódusait, az alapértelmezett értékeket használja a rendszer.

A Windows Search funkció közvetett elérése a Shell-adatmodellen keresztül előnyben részesített, mivel a Shell-adatmodell szintjén biztosít hozzáférést a Teljes Shell-funkciókhoz. Beállíthatja például a keresés hatókörét egy tárra (amely a Windows 7 és újabb verziókban elérhető szolgáltatás), hogy a lekérdezés hatóköreként a tármappákat használja. A Windows Search ezután összesíti a keresési eredményeket ezekről a helyekről, ha különböző indexekben vannak (ha a mappák különböző számítógépeken találhatók). A Shell-adatréteg emellett teljesebb nézetet hoz létre az elemek tulajdonságairól, egyes tulajdonságértékek szintetizálásával. Emellett hozzáférést biztosít a Windows Search által nem indexelt adattárak keresési funkcióihoz. Kereshet például univerzális soros buszos (USB-) tárolóeszközökön, az MTP protokollt használó hordozható eszközökön vagy egy FTP-kiszolgálón a Shell adatforrásain keresztül, amelyek hozzáférést biztosítanak ezekhez a tárolórendszerekhez. Ezzel jobb felhasználói élményt biztosít.

A Windows Search rendelkezik a Windows Search Szolgáltatás (WSS) implementációjában használt tulajdonságértékek gyorsítótárával. Ezek a tulajdonságértékek programozott módon lekérdezhetők a Windows Search OLE DB-szolgáltatóval vagy ISearchFolderItemFactory, amely a keresési eredményekben és a lekérdezésalapú nézetekben lévő elemeket jelöli. A Windows Search ezután összegyűjti és tárolja a szűrőkezelők vagy a tulajdonságkezelők által kibocsátott tulajdonságokat egy elem, például egy Word-dokumentum indexelésekor. Az index újraépítésekor ez a tároló elvetésre és újraépítésre kerül.

A külső fejlesztők programozott lekérdezésekkel hozhatnak létre olyan alkalmazásokat, amelyek az indexben lévő adatokat felhasználják, és kiterjeszthetik az indexben lévő adatokat a Windows Search által indexelendő egyéni fájl- és elemtípusokra. Ha a lekérdezési eredményeket a Windows Intézőben szeretné megjeleníteni, implementálnia kell egy Shell-adatforrást, mielőtt létrehozna egy protokollkezelőt az index kiterjesztéséhez. Ha azonban minden lekérdezés programozási eszközökkel (például OLE DB-n keresztül) történik, és az alkalmazás kódja értelmezi ahelyett, hogy a Shell tenné, a Rendszerhéj névtér használata továbbra is előnyben részesíthető, de nem szükséges.

A Windows protokollkezelőre van szükség a fájl tartalmával kapcsolatos információk beszerzéséhez, például az adatbázisokban lévő elemekhez vagy az egyéni fájltípusokhoz. Bár a Windows Search képes indexelni a fájl nevét és tulajdonságait, a Windowsnak nincs információja a fájl tartalmáról. Ennek eredményeképpen az ilyen elemek nem indexelhetők és nem tehetők közzé a Windows Shellben. Egyéni protokollkezelő implementálásával ezeket az elemeket közzéteheti. Az elérni kívánt fejlesztői forgatókönyv által azonosított kezelők listáját lásd: "Kezelők áttekintése" Windows Search mint fejlesztési platform.

Jegyzet

A Shell-adatforrásokat néha Shell-névtérbővítménynek is nevezik. Néha a kezelőt Shell-bővítményként vagy Shell-bővítménykezelőként is ismerik.

 

Felhasználói felület

A Windows Vista és újabb verziókban a Windows Search integrálva van az összes Windows Explorer-ablakba a kereséshez való azonnali hozzáférés érdekében. Így a felhasználók gyorsan kereshetnek fájlokat és elemeket fájlnév, tulajdonságok és teljes szöveges tartalmak szerint. A találatok tovább szűrhetők a keresés finomítása érdekében. A Windows Search néhány további funkciója:

  • Az azonnali keresőmező minden ablakban lehetővé teszi az összes jelenleg nézetben lévő elem azonnali szűrését. Az azonnali keresőmezők a Start menüben jelennek meg a programok vagy fájlok kereséséhez, a Windows Intéző ablakának jobb felső sarkában pedig a megjelenített eredmények szűréséhez. Az azonnali keresés más Windows-funkciókba, például a Windows Media Playerbe is integrálva van a kapcsolódó fájlok megkereséséhez.
  • A dokumentumok kulcsszavakkal címkézhetők, hogy a felhasználó által meghatározott egyéni feltételek szerint csoportosítsák őket. A címkék olyan metaadatelemek, amelyeket a felhasználó vagy az alkalmazások rendelnek hozzá, hogy megkönnyítse a fájlok keresését olyan kulcsszavak alapján, amelyek nem szerepelnek az elem nevében vagy tartalmában. Előfordulhat például, hogy egy képkészletet "Arizona Vacation 2009" néven jelölnek meg, hogy később gyorsan előkereshessük a képeket bármelyik szó keresésével.
  • A Bővített oszlopfejlécek a Windows Intéző nézetben különböző módokon teszik lehetővé a dokumentumok rendezését és csoportosítását. A fájlok például a név, a dátum, a típus, a méret és a címkék szerint rendezhetők. A dokumentumok ezen tulajdonságok bármelyike szerint csoportosíthatók, és az egyes csoportok igény szerint szűrhetők (rejtettek vagy megjeleníthetők).
  • A dokumentumok a név, a dátum, a típus, a méret és a címkék szerint halmozhatók fel. A halmok tartalmazzák a megadott tulajdonságú összes dokumentumot, és a kijelölt mappa bármely almappájában találhatók.
  • A keresések menthetők (később lekérhetők) a Keresés mentése gombra kattintva a Windows Intéző keresőablakában. A rendszer a mentett keresés megnyitásakor az eredeti feltételek alapján dinamikusan újra feltölti az eredményeket. Útmutatásért lásd: Keresési eredmények mentése.
  • Az előnézeti kezelők és a miniatűr-kezelők lehetővé teszik a felhasználóknak, hogy a Windows Intézőben előnézetet kapjanak a dokumentumokról anélkül, hogy meg kellene nyitniuk a létrehozó alkalmazást.

Technikai előfeltételek

A Windows Search SDK dokumentációjának elolvasása előtt alapvető ismereteket kell elsajátítania a következő fogalmakról:

  • Shell-adatforrás implementálása.
  • Hogyan implementáljunk egy kezelőt.
  • Natív kód használata.

A Shell-adatforrások olyan összetevők, amelyek a Shell-névtér kibővítésére és az adattárban lévő elemek elérhetővé tételére szolgálnak. Korábban a Shell-adatforrást Shell-névtérbővítménynek nevezték. A kezelő egy COM-objektum, amely a Shell-elemek funkcióit biztosítja. Az elérni kívánt fejlesztői forgatókönyv által azonosított kezelők listáját lásd: "Kezelők áttekintése" Windows Search mint fejlesztési platform.

További információ a Windows Search SDK együttműködési szerelvényéről a Windows Search és más felügyelt kódot használó programok által közzétett COM-objektumokkal való munkához: Felügyelt kód használata a Shell-adatokkal és a Windows Search. Vegye figyelembe azonban, hogy a szűrőket, a tulajdonságkezelőket és a protokollkezelőket natív kódban kell írni. Ennek oka az lehet, hogy a közös nyelvi futtatókörnyezet (CLR) verziószámozási problémái vannak azzal a folyamattal, amelyben több bővítmény fut. Az új C++ fejlesztők megkezdhetik a Visual C++ Fejlesztői Központ és a Windows-fejlesztés kezdő lépések.

SDK letöltése és tartalma

A felsorolt technikai előfeltételek teljesítése mellett le kell töltenie a Windows SDK- is a Windows Search-kódtárak beszerzéséhez. A Windows keresési kódminták hasznos kódmintákat és együttműködési szerelvényt tartalmaznak a felügyelt kódokkal való fejlesztéshez.

A Windows Search SDK dokumentációja

A Windows Search SDK dokumentációjának tartalma a következő:

A Windows Search a Windows XP és a Windows Server 2003 bővítményeként elérhető Windows Desktop Search (WDS) helyére került. A WDS a Korábbi Windows-verziók régi indexelési szolgáltatását a teljesítmény, a használhatóság és a bővíthetőség javításaira cserélte. Az új fejlesztési platform olyan követelményeket támogat, amelyek biztonságosabb és stabilabb rendszert hoznak létre. Bár az új lekérdezési platform nem kompatibilis a Microsoft Windows Desktop Search (WDS) 2.x verzióval, a WDS korábbi verzióihoz írt szűrők és protokollkezelők frissíthetők, hogy működjenek a Windows Search szolgáltatással. A Windows Search egy új tulajdonságrendszert is támogat. A szűrőkkel, a tulajdonságkezelőkkel és a protokollkezelőkkel kapcsolatos információkért lásd Az indexkiterjesztése című témakört.

A Windows Search a Windows Vista és újabb rendszerekbe van beépítve, és a WDS 2.x újraterjeszthető frissítéseként érhető el a következő operációs rendszerek támogatásához:

  • A Windows XP 32 bites verziói a Service Pack 2 (SP2) csomaggal.
  • A Windows XP összes x64-alapú verziója.
  • Windows Server 2003 Service Pack 1 (SP1) és újabb szervizcsomaggal.
  • A Windows Server 2003 összes x64-alapú verziója.

Az ezeket az operációs rendszereket futtató rendszerekben telepítve kell, hogy legyen a Windows Search a Windows Search-hez készült alkalmazások futtatásához.

További erőforrások

Windows Search mint fejlesztői platform

Windows Search által támogatott nyelvek

Kezelt kód használata Shell-adatokkal és Windows Search szolgáltatással