Hatókörszabályok kezelése

A bejárási hatókör-kezelő (CSM) lehetővé teszi olyan hatókörszabályok meghatározását, amelyek tartalmazzák vagy kizárják az URL-címeket a Windows keresési bejárási hatóköréből.

A CSM lehetővé teszi a következőket:

  • Új hatókörszabályok hozzáadása a munkaszabály-készlethez
  • Meglévő hatókörszabályok eltávolítása
  • Alapértelmezett hatókörszabályok számbavétele
  • Annak felderítése, hogy egy adott URL szerepel-e a bejárási hatókörben, vagy ki van-e zárva a bejárási hatókörből, vagy rendelkezik szülő- vagy gyermekhatókör-szabálysal

 

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

Tudnivalók a hatókörszabályokról

A hatókörszabály olyan szabály, amely magában foglalja vagy kizárja a keresési gyökérben lévő URL-címeket a bejárástól és az indexeléstől. A belefoglalási szabályok miatt az indexelő belefoglalja ezt az URL-címet a hatókörbe, a kizárási szabályok pedig azt okozzák, hogy az indexelő kizárja az URL-címet (és annak gyermekeit) a bejárási hatókörből.

Tegyük fel például, hogy telepített egy új alkalmazást, amelynek adatfájljai a WorkteamA\ProjectFiles mappában találhatók egy helyi számítógépen. Tegyük fel, hogy a ProjectFiles mappában minden indexelve van, kivéve a Prototípusok almappában lévő elemeket. Ebben az esetben szüksége van egy befoglalási szabályra a myPH:///C:\WorkteamA\ProjectFiles\ és egy kizárási szabályra a myPH:///C:\WorkteamA\ProjectFiles\Prototypes\ vonatkozóan.

Háromféle szabály létezik, amelyek sorrendje a következő:

  1. A csoportházirend-szabályokat a rendszergazdák állítják be, és felülbírálhatják az összes többi szabályt.
  2. A felhasználói szabályokat azok a felhasználók állítják be, amelyek módosítják a hatókört a Windows Keresési lehetőségek felhasználói felületén. A felhasználók vagy más alkalmazások eltávolíthatják az összes felhasználói szabályt, és visszaállíthatják az alapértelmezett szabályokat.
  3. Az alapértelmezett szabályokat általában egy alkalmazás állítja be az alapértelmezett hatókör meghatározásához. Előfordulhat például, hogy az alapértelmezett szabályok akkor lesznek beállítva, ha új protokollkezelőt vagy tárolót adnak hozzá a rendszerhez.

Ezek a szabályok együttesen alkotják azt a munkaszabálykészletet, amelyből a bejárási hatókör-kezelő (CSM) létrehozza a bejáráshoz szükséges URL-címek teljes listáját. Bár az alapértelmezett szabályokat felül lehet bírálni a csoportházirend-szabályok és a felhasználói szabályok alapján, a rendszer a saját alapértelmezett szabálykészletében tartja fenn őket, amelyekre bármikor visszatérhet. Az indexelő bejárja az URL-címeket a munkaszabály-készletből, és elemeket, tulajdonságokat és tartalmakat ad hozzá a katalógushoz.

Jegyzet

A Vezérlőpulthoz hozzáféréssel rendelkező felhasználók ezen a felületen módosíthatják a szabályokat. Ezért a hatókörkezelést kínáló alkalmazásoknak mindig közvetlenül a CSM-ből kell lekérni a szabályokat az enumerálási módszerek használatával ahelyett, hogy a felhasználói szabályok mentett másolatára támaszkodnak.

 

A kizárási szabályok "*" helyettesítő karakterrel definiálhatnak minta URL-címeket; például: file:///C:\ProjectA\*\. Az ezzel a mintával rendelkező kizárási szabály megakadályozza, hogy az indexelő bejárja a ProjectA könyvtárban lévő mappákat. Egy bonyolultabb példa esetén tegyük fel, hogy van egy beillesztési szabály a file:///C:\ProjectA\ címre, és egy kizárási mintaszabály a file:///C:\ProjectA\*\data\* útvonalra. Ebben az esetben az indexelő bejárja a következő elemeket:

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

Az indexelő azonban nem fog elemeket bejárni:

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

 

Mielőtt hozzákezdene

A Bejárási hatókör kezelő felületének használata előtt el kell végeznie a következő előfeltétel-lépéseket:

  1. Hozza létre a CSearchManager objektumot, és szerezze be a ISearchManager felületet.
  2. Hívja meg a ISearchManager::GetCatalog for "SystemIndex" függvényt az ISearchCatalogManager felület példányának beszerzéséhez.
  3. Hívja meg ISearchCatalogManager::GetCrawlScopeManager a ISearchCrawlScopeManager felület egy példányának beszerzéséhez.

Miután bármilyen módosítást végrehajtott a bejárási hatókör-kezelőn, meg kell hívnia a ISearchCrawlScopeManager::SaveAll metódust. Ez a metódus nem használ paramétereket, és siker esetén S_OK értékkel tér vissza.

 

Hatókörszabályok hozzáadása

A CSM-hez beállított munkaszabályok közé tartoznak a felhasználói és alapértelmezett szabályok, valamint a csoportházirend által kényszerített szabályok. A felhasználói szabályokat a felhasználók egy felhasználói felületen állítják be, és az alapértelmezett szabályokat az alábbiak bármelyike állíthatja be:

  • Rendszergazda által implementált csoportházirendek (Ezek nem használják a ISearchCrawlScopeManager felületet.)
  • Egy olyan alkalmazás telepítése vagy frissítése, mint a Windows Search vagy egy protokollkezelő
  • Beállítási alkalmazás új adattár vagy tároló hozzáadásához

Az ISearchCrawlScopeManager két módszert biztosít az új hatókörszabályok hozzáadásához, az alábbi táblázatban leírtak szerint. A fájlrendszer belefoglalási szabályainak elérési útjainak "\" fordított perjellel (például file:///C:\files\) kell végződniük, a kizárási szabályok elérési útjainak pedig csillaggal kell végződniük (például file:///c:\files\*). Csak a kizárási szabályok tartalmazhatnak minta URL-címeket. Emellett azt javasoljuk, hogy a nagyobb biztonság érdekében a felhasználók biztonsági azonosítóit (SID-ket) is be kell szúrni az útvonalakba. A felhasználónkénti elérési utak 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.

Az alábbi táblázat az új hatókörszabályok hozzáadásához használt ISearchCrawlScopeManager felület metódusait ismerteti.

Módszer Leírás
AddUserScopeRule A felhasználó által megadott URL-címre vonatkozó szabályt ad hozzá. Ezek a szabályok felülbírálják az alapértelmezett szabályokat. Ezt a módszert akkor használja, ha olyan felhasználói felületet implementált, amely lehetővé teszi a felhasználók számára a saját hatókörszabályok és URL-címek kezelését.
AddDefaultScopeRule Egy URL-cím szabályát adja hozzá egy másik alkalmazás, például egy protokollkezelő által megadott módon. Ezt a módszert akkor használja, ha új protokollkezelőt implementált vagy új adattárat adott hozzá. Ezeket a szabályokat a felhasználói szabályok felülírhatják.

 

Minden metódus egy URL-címet visz egy indexelhető helyre, és azokat a jelzőket, amelyek meghatározzák, hogy az URL-címet bele kell-e foglalni vagy ki kell zárni. Az fFollowFlags paraméter jövőbeli használatra van fenntartva. Amikor új hatókörszabályt ad hozzá, és a bejárási hatókör-kezelő megállapítja, hogy a szabály már létezik (a megadott URL-cím vagy minta alapján), a munkaszabály-készlet frissül, így (1) a régi szabályt lecseréli az új szabály, és (2) az annak ellentmondó felhasználói szabályokat eltávolítja.

Tipp: Bár a file:// gyökér alapértelmezés szerint szerepel a bejárási hatókörben, a "Program Files" könyvtár alapértelmezés szerint nincs indexelve. Ezért a Program Files könyvtárba mentett adatokat tartalmazó alkalmazásoknak alapértelmezett szabályként hozzá kell adniuk a helyüket.

Megjegyzések a felhasználói szabályokhoz

Ha egy új felhasználói szabály ugyanaz, mint egy meglévő alapértelmezett szabály, az új felhasználói szabály felülbírálja a munkaszabály-készlet alapértelmezett szabályát. Ha az új felhasználói szabály ugyanaz, mint egy meglévő felhasználói szabály, a rendszer lecseréli a régi felhasználói szabályt.

A fOverrideChildren jelölő beállítása a következő eredményeket okozza a munkaszabály-készletben:

  • TRUE az összes gyermekszabály eltávolítását eredményezi a munkaszabály-készletből (mind a felhasználói szabályok, mind az alapértelmezett szabályok).
  • A HAMIS érték azt eredményezi, hogy az új felhasználói szabály gyermekei közé tartozó összes alapértelmezett szabály újra hozzáadódik a munkaszabálykészlethez. Ha a gyermek alapértelmezett szabálya belefoglalás, és az új felhasználói szabály kizárás, az alapértelmezett szabály belefoglalási felhasználói szabályra módosul.

 

Hatókörszabályok eltávolítása

Az ISearchCrawlScopeManager felülettel eltávolíthat egy hatókörszabályt a munkaszabály-készletből. Ez az interfész a hatókörszabályok eltávolításának alábbi két módszerét biztosítja.

Módszer Leírás
RemoveScopeRule Eltávolítja a megadott URL-cím felhasználói szabályát a munkaszabály-készletből. Ha a felhasználói szabály egy alapértelmezett szabály duplikálása vagy felülbírálása, az alapértelmezett szabály a munkaszabály-készletben marad.
RemoveDefaultScopeRule Eltávolítja a megadott URL-cím alapértelmezett szabályát a munkaszabály-készletből és az alapértelmezett szabálykészletből is. A metódus meghívása után nem lehet visszaállítani ezt az alapértelmezett szabályt a RevertToDefaultScopes használatával.

 

Minden metódus egy URL-címet és egy jelzőt használ, amely jelzi, hogy az eltávolítandó szabály belefoglalási vagy kizárási szabály-e. Ezek a metódusok hibát adnak vissza, ha az URL-címmel és a befogadási/kizárási jelzővel rendelkező szabály nem található.

tipp: Ha teljes egészében el szeretne távolítani egy hatókört a bejárási hatókörből, használja a RemoveRoot metódust, amely eltávolítja a keresési gyökerét és az összes társított hatókörszabályt. Ezt például ajánlott eljárásnak tekintjük az eltávolítás során.

A keresési gyökér összes felhasználó által beállított felülbírálását is eltávolíthatja, és visszaállíthatja az eredeti keresési gyökér- és alapértelmezett hatókörszabályokat. További információkért tekintse meg a következő szakaszt.

Jegyzet

Windows Vista rendszerben, ha a felhasználókat a Vezérlőpult felhasználói profiljaival távolítják el, a CSM eltávolítja az összes olyan szabályt és gyökerét, amely tartalmazza a SID-et, é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.

 

 

Visszaállítás alapértelmezett szabályokra

Az alapértelmezett szabályokra való visszaállítás eltávolítja az URL-cím vagy a gyökér összes felhasználói szabályát, és visszaállítja az összes alapértelmezett szabályt a munkaszabály-készletbe. Ez azonban nem távolítja el a csoportházirend által beállított szabályokat. A RevertToDefaultScopes metódus nem használ paramétereket, és hibakódot ad vissza, ha nem tud visszatérni az alapértelmezett szabályokhoz.

 

Hatókörszabályok számbavétele

A CSM az IEnumSearchScopeRules egy szabványos COM-stílusú enumerátori felülettel számozza a hatókörszabályokat. Ezzel a felülettel több célra is számba vehet hatókörszabályokat. Előfordulhat például, hogy a teljes munkaszabálykészletet meg szeretné jeleníteni egy felhasználói felületen, vagy megtudhatja, hogy egy szabály vagy egy szabály gyermeke már szerepel-e a bejárási hatókörben.

 

Nyomkövetési hatókör szabályai

A CSM lehetővé teszi annak meghatározását is, hogy egy megadott URL szerepel-e a bejárási hatókörben, és hogy rendelkezik-e szülő- vagy gyermekhatókör-szabállyal. Azt is megtudhatja, hogy miért tartalmaz vagy zár ki url-címet a bejárási hatókörből. Ezek a módszerek nem használhatók minta URL-címekkel.

Az alábbi táblázat az új hatókörszabályok hozzáadásához használt ISearchCrawlScopeManager metódusait ismerteti.

Módszer Leírás
GetParentScopeVersionId Lekéri a szülői inklúzió URL verzióazonosítóját. Ezzel a módszerrel ellenőrizheti, hogy a szülő hatóköre megváltozott-e az utolsó ellenőrzés óta.
Példa: Ha egy levelezőalkalmazás szolgáltató által felügyelt értesítéseket használ, előfordulhat, hogy a szülőhatókör-verziót fogja megkapni, mielőtt bezárulna, és a megnyitáskor újra ellenőrizné a verziót. Ezután az alkalmazás meghatározhatja, hogy le kell-e küldenie egy új értesítéskészletet az indexelőnek.
Gyermek-terjedelem-szabály Igaz ad vissza, ha a megadott URL-cím gyermekszabálysal rendelkezik (a gyermekre az URL-hierarchián belül bármely szinten érvényes szabály).
Például: Ha az URL-cím file:///C:\Mappa\, akkor ez a metódus IGAZ ad vissza, ha a CSM hatókörszabálya kifejezetten a file:///C:\Mappa\Almappára\ vonatkozik.
VanSzülőiHatókörSzabály Igaz ad vissza, ha a megadott URL-cím szülőszabálysal rendelkezik (az URL-hierarchia bármely szintjén érvényes szülőre vonatkozó szabály).
Példa: Ha az URL-cím file:///C:\Mappa\Almappája, akkor ez a metódus IGAZ adja vissza, ha a CSM hatókörszabálya kifejezetten a file:///C:\Mappa\ vonatkozik.
IncludedInCrawlScope Igaz értéket (TRUE) ad vissza, ha a megadott URL-cím szerepel a lekérési hatókörben.
IncludedInCrawlScopeEx A CLUSION_REASON enumerálásból származó értéket ad vissza, amely elmagyarázza, hogy az URL miért szerepel a bejárási hatókörben, vagy miért van kizárva a bejárási hatókörből, és lekéri a TRUE értéket, ha az URL szerepel a bejárási hatókörben. Ez a módszer segíthet azonosítani a munkaszabály-készlet ütközéseit.

 

 

Jegyzet

A IncludedInCrawlScope és a IncludedInCrawlScopeEx metódusok határozzák meg, hogy az URL-cím feltérképezésre kerül-e kizárólag a CSM szabályai alapján. Az URL-cím kihagyásának más okai is lehetnek, például mert a FANCI-bit be van állítva, azaz a felhasználó nem engedélyezte a gyors indexelést a mappa tulajdonságainál.

 

Ha úgy véli, hogy egy fájl elérési útját ki kell zárni, de szerepel a listán, győződjön meg arról, hogy a kizárási szabályok "<elérési út>\*" végződéssel végződnek. Ha úgy véli, hogy egy fájl vagy elérési út benne kellene lennie, de mégsem szerepel, ellenőrizze a fájl vagy elérési út FANCI bitbeállítását. Ehhez kattintson a jobb gombbal a fájlra vagy a fájl elérési útjára, és válassza a Tulajdonságoklehetőséget, majd győződjön meg arról, hogy a A gyors kereséshez engedélyezze az Indexelő szolgáltatás számára, hogy indexelje ezt a mappát, jelölőnégyzet be van jelölve. Ha a fájl vagy fájl elérési útja nincs indexelésre megjelölve, akkor sem lesz indexelve, még akkor sem, ha szerepel a belefoglalási szabályban.

referencia

ISearchCrawlScopeManager

ISearchCrawlScopeManager2

ISearchScopeRule

IEnumSearchScopeRules

fogalmi

Keresési gyökerek kezelése