Keresési gyökerek kezelése

A bejárási hatókör-kezelő (CSM) lehetővé teszi az adattárak keresési gyökerének hozzáadását és eltávolítását a Windows Keresés bejárási hatókörébe.

Ez a témakör a következő témákat tartalmazza:

 

Tudnivalók a keresési gyökerekről

A keresési gyökér határozza meg a Shell-névtér alapját, ahol adott hatókörök szerepelhetnek vagy kizárhatók, és általában a legmagasabb szintű tároló egy számba vehető protokollban. Nem határozza meg, hogy a tároló mely részeit érdemes vagy ne indexelni; csupán azt jelzi, hogy létezik tartalomtár, és egy regisztrált protokollkezelőhöz van társítva. A keresési gyökér URL-címének azonosítására szolgáló szintaxis tartalmazza a protokollt, az áruház vagy a felhasználó biztonsági azonosítóját, az elérési utat és opcionálisan egy adott elemet (például egy fájlt). Az alábbi példák a keresési gyökér szintaxisának két formáját mutatják be.

<protocol>://<store or SID>\<path>\[item]
or
<protocol>://<store or SID>/<path>/[item]

A <protokoll> szegmenst két (2) perjelnek ('/') kell követnie, kivéve, ha a fájl: protokoll, amely három perjelet (file:///) igényel. A <webhely vagy a SID> szegmens egy tartalomtárat vagy egy felhasználói biztonsági azonosítót jelöl, ha a keresési gyökér a felhasználóra vonatkozik. A <elérési út> szegmens tárolók készlete, például könyvtárak vagy mappák, és tartalmazhatják a *helyettesítő karaktert. Az <elem> szegmens nem kötelező, és a *helyettesítő karaktert is tartalmazhatja. Ha nem tartalmaz elemet, mindenképpen perjellel fejezze be az elérésiút-szegmenst, vagy az indexelő feltételezi, hogy az utolsó alkontinens egy elem.

Tegyük fel például, hogy implementált egy protokollkezelőt (myPH) az egyéni alkalmazások *.myext típusú fájljainak kezelésére. Ezek a fájlok a Helyi számítógépen található WorkteamA\ProjectFiles mappában találhatók. Ennek keresési gyökere a következőhöz hasonló lehet:

  • myPH:///C:\WorkteamA\ProjectFiles\

Tegyük fel, hogy a tároló összes .myext fájlját belefoglalja az indexbe, de semmi mást. Ennek keresési gyökere a következőhöz hasonló lehet:

  • myPH:///C:\WorkteamA\ProjectFiles\*.myext.

A helyettesítő karakterek mintái a *helyettesítő karakterrel definiálják az URL-címeket, és nem URL-címnek, hanem mintának számítanak, de a terminológiát gyakran használják felcserélhetően. A file:///C:\ProjectA\*\data\ például a következő URL-címeknek felel meg:

  • C:\ProjectA\1. verzió\data\
  • C:\ProjectA\2. verzió\data\

Ez a minta azonban nem felel meg ennek az URL-címnek:

  • C:\ProjectA\verzió 1\temp\data\

Új keresési gyökereket kell létrehoznia olyan tárolókhoz, amelyek még nem szerepelnek az indexelő bejárási hatókörében. Ha a C:\ParentScope elérési út már szerepel a bejárási hatókörben, nem kell új keresési gyökereket hozzáadnia a C:\ParentScope\ChildScope elemhez, hacsak nem tudja, hogy a gyermek hatóköre korábban ki lett zárva.

A Windows Keresési beállítások beállításának felhasználói felülete megjeleníti a keresési gyökereket a felhasználók számára, hogy pontosíthassák a keresések hatókörszabályait. Az egyéni protokollkezelő, -tároló és/vagy -alkalmazás telepítési folyamatának részeként megadhat egy alapértelmezett bejárási hatókört, belefoglalási és kizárási szabályokkal. Ezek a szabályok helyként jelennek meg a végfelhasználók számára. A felhasználók az előre definiált keresési gyökérkönyvtárak alkönyvtáraiban navigálhatnak, és kiválaszthatják azokat, amelyeket bele szeretnének foglalni a keresésekbe, vagy törölhetik a kizárni kívántakat.

 

Mielőtt hozzákezdene

A Bejárási hatókör-kezelő (CSM) bármelyik felületének használatához el kell végeznie az alábbi előfeltétel-lépéseket:

  1. Hozza létre a CrawlSearchManager objektumot, és szerezze be a ISearchManager felületet.
  2. Hívja meg ISearchManager::GetCatalog for "SystemIndex" függvényt, hogy beszerezze egy ISearchCatalogManager felület egy példányát.
  3. A ISearchCatalogManager::GetCrawlScopeManager meghívásával szerezze be ISearchCrawlScopeManager felület egy példányát.

A bejárási hatókör-kezelő (CSM) módosítása után meg kell hívnia ISearchCrawlScopeManager::SaveAll. Ez a metódus nem használ paramétereket, és siker esetén S_OK értéket ad vissza.

 

Windows 7: új Crawl Scope Manager API

A Windows 7 és újabb ISearchCrawlScopeManager2 kibővíti az ISearchCrawlScopeManager felület funkcióit. A ISearchCrawlScopeManager2::GetVersion metódus lekéri a Crawl Scope Manager (CSM) verziót, amely tájékoztatja az ügyfeleket, ha a CSM állapota megváltozott. ISearchCrawlScopeManager2::GetVersion nem eredményez folyamatközi hívást. Ha a függvény sikeres, akkor a visszaadott mutató érvényes marad, amíg az ügyfél nem hívja meg UnmapViewOfFile az egérmutatón, és CloseHandle a visszaadott leírón.

 

Gyökerek hozzáadása a bejárási hatókörhöz

Az ISearchCrawlScopeManager tájékoztatja a keresőmotort a tárolók bejárásáról és/vagy megtekintéséről, valamint a tárolók alatti elemekről, amelyeket belefoglalhat vagy kizárhat. Új keresési gyökér hozzáadásához példányosítson egy ISearchRoot objektumot, állítsa be a gyökérattribútumokat, majd hívja meg ISearchCrawlScopeManager::AddRoot, és adjon neki egy mutatót a ISearchRoot objektumnak. A keresési gyökér URL-címe megegyezik a korábban ismertetett keresési gyökér url-címével.

Az alábbi táblázat az ISearchRootvonatkozó put metódusait ismerteti; A Windows Search jelenleg nem használja a felület egyéb put metódusait. Javasoljuk, hogy a felhasználók biztonsági azonosítóit (SID-k) minden gyökérben szerepeltessék, a jobb biztonság érdekében. A felhasználónkénti gyökerek biztonságosabbak, mivel a lekérdezések felhasználónkénti folyamatokban futnak, így például az egyik felhasználó nem látja a másik felhasználó postaládájából indexelt elemeket.

Módszer Leírás
put_ÉrtesítéseketBiztosít Állítsa az IGAZ értéket, ha egy protokollkezelő vagy más alkalmazás értesíti a keresőmotort a keresési gyökérnél található URL-ek változásairól. Az értesítés azt jelzi, hogy az URL-címeket újra kell indexelni.
put_RootURL Beállítja az aktuális keresés gyökér URL-címét. Az URL-cím a korábban ismertetett keresési gyökérűrlapot használja.

 

 

Alapértelmezés szerint az indexelő nem vizsgál át egy hatókört, amikor keresési gyökeret ad hozzá. Hozzá kell adnia egy beillesztési szabályt is a gyökérhez. Ha felhasználóspecifikus gyökereket szeretne hozzáadni egy alkalmazáshoz, az alkalmazásnak hozzá kell adnia a megfelelő gyökereket az új felhasználókhoz az alkalmazás indításakor.

A megfelelő jogosultságok hozzáadása az új felhasználók számára:

  1. Kérje le a felhasználó biztonsági azonosítóját.
  2. Sorolja fel az összes gyökeret, hogy ellenőrizze, létezik-e ilyen SID.
  3. Szükség esetén adjon hozzá egy új gyökért a SID használatával.

 

Gyökerek eltávolítása a bejárási hatókörből

Az ISearchCrawlScopeManager használatával eltávolíthat egy gyökeret a bejárási hatókörből, ha már nem szeretné, hogy az URL-cím indexelve legyen. A gyökér eltávolítása az URL-cím hatókörének összes szabályát is törli. Tegyük fel például, hogy el szeretne távolítani egy tartalomtárat és/vagy annak protokollkezelőjét egy rendszerből. Eltávolíthatja az alkalmazást, törölheti az összes adatot, majd eltávolíthatja a keresés gyökerét a bejárási hatókörből, a Bejárási hatókör-kezelő pedig eltávolítja a gyökérrel társított gyökér- és hatókörszabályokat.

Meglévő keresési gyökér eltávolításához hívja meg ISearchCrawlScopeManager::RemoveRoot az eltávolítani kívánt keresési gyökérrel. A keresési gyökér URL-címe megegyezik a korábban ismertetett keresési gyökér url-címével. Ez a metódus S_FALSE ad vissza, ha a gyökér nem található, és hibakódot, ha hiba történt a talált gyökér eltávolításakor.

A keresési gyökér eltávolítása a Windows Keresési beállítások felhasználói felületéről is eltávolítja az URL-címet, így előfordulhat, hogy a felhasználók nem tudják újból hozzáadni a tárolót vagy helyet a felhasználói felület használatával. Az összes felhasználói felülírást eltávolíthatja a keresési gyökérnél, és visszaállíthatja az eredeti keresési gyökér- és hatókörszabályokat. További információ: Hatókörszabályok kezelése.

Jegyzet

Windows Vista rendszeren, ha a felhasználókat a Vezérlőpult Felhasználói profilok részén keresztül távolítják el, a CSM eltávolítja az összes hozzájuk tartozó szabályt és gyökeret a SID-jükkel, és eltávolítja az indexelt elemeket a katalógusból. Windows XP rendszeren manuálisan kell eltávolítania a felhasználók gyökerét és szabályait.

 

 

A gyökerek számbavétele a bejárási hatókörben

A CSM a keresési gyökereket egy szabványos COM-stílusú számba vevő felülettel sorolja fel, IEnumSearchRoots. Ezzel a felülettel több célra is számba vehet keresési gyökereket. Előfordulhat például, hogy a teljes bejárási hatókört meg szeretné jeleníteni egy felhasználói felületen, vagy megtudhatja, hogy egy adott gyökér vagy egy gyökér gyermeke már szerepel-e a bejárási hatókörben.

 

referencia

ISearchCrawlScopeManager

ISearchRoot

IEnumSearchRoots

fogalmi

A bejárási hatókörkezelő használata

hatókörszabályok kezelése