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.
Az ISearchCatalogManager és ISearchCatalogManager2 felületek olyan módszereket biztosítanak a keresési katalógusok kezeléséhez, mint például az újraindexelés vagy az időtúllépések beállítása. Bár a Windows Search jelenleg csak egy katalógust használ, ez a felület úgy lett kialakítva, hogy nagyobb vezérlést biztosítson több katalógus egymástól függetlenül történő kezeléséhez. A felület a következő módokon kezeli a katalógust:
- Hozzáférés más felületekhez – a bejárási hatókör-kezelő által igényelt egyéb kereséssel kapcsolatos felületek lekérése, az adatmódosítási értesítések és a ISearchQueryHelper felület.
- Katalógus tartalma – annak biztosítása, hogy az új adatok indexelve legyenek, és hogy más alkalmazások és összetevők megfelelően működjön a katalógus egészének vagy egy részének újraindexelésével vagy a teljes katalógus alaphelyzetbe állításával.
- Katalógustulajdonságok – olyan tulajdonságok beállítása, amelyek meghatározzák, hogy a katalógus hogyan kezeli az időtúllépéseket a protokollkezelőkhöz való csatlakozáskor, és hogyan kezeli a diakritikus jeleket a keresésekben.
- Katalógus állapota – a katalógussal kapcsolatos információk lekérése, beleértve az állapotot, a méretet és az aktuális tevékenység állapotát.
Ez a témakör a következőképpen van rendszerezve:
- Kapcsolódó felületek elérése
- katalógustartalom kezelése
- Katalógusállapot kezelése
- katalógustulajdonságok kezelése
- Emelt szintű módban futtatás
- Kapcsolódó témakörök
Kapcsolódó felületek elérése
A Windows Search platform néhány hasznos felületének használatához a Catalog Manager egy példánya szükséges. Ha katalóguskezelőt szeretne létrehozni egy adott katalógushoz, hívja meg az ISearchManager::GetCatalog metódust. A Catalog Manager metódusai ezután a megadott katalóguson alapuló interfészek példányosítására és visszaadására használhatók.
| Módszer | Leírás |
|---|---|
| GetQueryHelper | Lekéri a ISearchQueryHelper felületének egy példányát az aktuális katalógushoz, így könnyen létrehozhat lekérdezéseket. |
| GetCrawlScopeManager | Lekéri a keresési katalógushoz tartozó ISearchCrawlScopeManager egy példányát, hogy a fejlesztők módosíthassák a Windows Search Indexer bejárási hatókörét. |
| GetItemsChangedSink | Lekéri az ISearchItemsChangedSink felület egy példányát, amellyel az ügyfélalkalmazások értesítik az indexelőt a változásokról, ha az ügyfél az elem indexelési állapotadatait szeretné támogatni a szolgáltató által felügyelt értesítések támogatásához. További információt A változások indexének értesítése című témakörben talál. |
| GetPersistentItemsChangedSink | Lekéri az ISearchPersistentItemsChangedSinkegy példányát, amellyel az ügyfélalkalmazások értesítik az indexelőt a változásokról, ha az ügyfél nem szeretne indexelési állapotinformációkat (indexelő által felügyelt értesítéseket). További információt A változások indexének értesítése című témakörben talál. |
A katalógus tartalmának kezelése
A katalógus kezelésének két elsődleges feladata van: az indexelő bejárási hatókörében lévő url-címek vagy url-címek újraindexelése, valamint a teljes mögöttes katalógus alaphelyzetbe állítása. Az URL-címek újraindexelésekor a régi adatok mindaddig a katalógusban maradnak, amíg új adatok nem cserélik le azokat. A katalógus alaphelyzetbe állításakor a teljes katalógus újraépül, és a bejárási hatókör összes URL-címe újra indexelve lesz. Ez a folyamat sok időt vehet igénybe, és csak végső megoldásként használható olyan problémák megoldásához, mint például egy esetleg sérült index.
Új alkalmazás, protokollkezelő vagy szűrő telepítésekor a telepítő alkalmazásnak hozzá kell adnia annak könyvtárát vagy gyökerét a bejárási hatókörhöz, hogy az indexelő tartalmazza az alkalmazás adatainak helyét. Ha az adatok nem jelennek meg a katalógusban, miután az indexelő bejárta a bejárási hatókörét, először győződjön meg arról, hogy az adatok helye szerepel a bejárási hatókörben. Felveheti a Windows Keresési beállítások felhasználói felületével, vagy a Bejárási hatókörkezelősegítségével. Ha úgy tűnik, hogy a hely a bejárási hatókörben van, manuálisan kényszerítheti az indexelő bejárási hatókörében vagy egy részhalmazában lévő összes URL újraindexelését az ISearchCatalogManager felületének alábbi módszereivel.
| Újraindexelési módszer | Leírás |
|---|---|
| ISearchCatalogManager::Reindex | Újraindexeli a katalógus összes URL-címét. A régi információk mindaddig megmaradnak, amíg új információk nem cserélik le. |
|
ISearchCatalogManager::ReindexMatchingURLs ISearchCatalogManager::ReindexSearchRoot |
Újraindexeli a mintának megfelelő VAGY egy adott gyökérnél kezdődő URL-címeket (például file:///C:\Foldername\Subfoldername\). Ez akkor hasznos, ha egy adott könyvtárban vagy egy adott kiterjesztéssel mindent újratelepít, akárcsak egy alkalmazás telepítésekor. |
| HasonlóURL-ekPriorizálása | Arra utasítja az indexelőt, hogy rangsorolja az indexelő elemeket az olyan URL-címekkel, amelyek megfelelnek a megadott mintának más indexelési feladatok elvégzése során. |
Állítsa alaphelyzetbe az indexet. A teljes indexet alaphelyzetbe állíthatja az ISearchCatalogManager::Reset meghívásával. Ez alaphelyzetbe állítja a mögöttes katalógust az adatbázisok újraépítésével és a bejárási hatókörben lévő összes URL teljes indexének végrehajtásával. Ez a folyamat sok időt vehet igénybe, és csak végső megoldásként használható olyan problémák megoldásához, mint például egy esetleg sérült index.
Fontos
Az indexelés lelassulása miatt, amelyet ezek a módszerek okozhatnak, gondosan kell használni őket, amikor indexelési vagy katalógusproblémákat próbál azonosítani. Először ellenőrizze, hogy a keresési gyökerek és hatókörszabályok hozzá vannak adva a Keresési Hatókör Kezelőhöz, majd győződjön meg arról, hogy a FANCI bit (Nem tartalomindexelt fájlattribútum) megfelelően be van állítva a fájlokhoz és mappákhoz. Ha meggyőződött arról, hogy ezek helyesek, először próbálja meg a ReindexSearchRoot parancsot, majd az utolsó újraindexelést. Ha egyik sem működik, próbálja meg végső megoldásként az Alaphelyzetbe állítást.
További információért lásd: A változások indexének értesítése, és Az index lekérdezése az ISearchQueryHelper segítségével
Katalógus állapotának kezelése
A Katalóguskezelő segítségével lekérheti a katalógus állapotát azokhoz az alkalmazásokhoz, amelyek testre szeretnék szabni a katalógus kezelését (például egy egyéni "Katalógus állapota" monitorozási alkalmazást). A katalóguskezelőre azonban általában nincs szükség a legtöbb kereséssel kapcsolatos fejlesztési forgatókönyv esetében. Gyakori felhasználási módja egy "Katalógus állapota" monitorozási alkalmazásnak vagy egy Vezérlőpult-stílusú alkalmazásnak.
Az alábbi táblázat a katalógus állapotának kezelésére használt ISearchCatalogManager metódusait ismerteti.
| Módszer | Leírás |
|---|---|
| URLBeingIndexed | Lekéri az indexelt URL-címet. Ez a módszer akkor hasznos, ha azt szeretné megállapítani, hogy az indexelő "elakadt" -e egy elemen. |
| Tételszáma | Lekéri a katalógus elemeinek számát. |
| Indexelendő elemek száma | Az indexelendő elemekre vonatkozó alábbi információkat kéri le:
|
| KatalógusStátuszLekérése | Lekéri a katalógus állapotát, és egy enumerálási értéket ad vissza, amely az aktuális állapotot adja vissza. A katalógus következő lehetséges állapotai:
|
| get_Name | Lekéri a ISearchManager::GetCatalog metódusban megadott aktuális katalógus nevét. Jelenleg az egyetlen támogatott katalógus a SystemIndex. |
Katalógustulajdonságok kezelése
A Catalog Managerrel három katalógustulajdonság kezelhető:
- Diakritikus érzékenység. A mellékjelek a betűkhöz hozzáadott jelölőjelek, amelyek egy szó jelentését vagy kiejtését jelölik. Ez a tulajdonság határozza meg, hogy a katalógus érzékeny-e az ékezetekre, és fontos, ha Ön vagy a felhasználók több nyelven keresnek és indexelnek szöveget. Ha például ez a tulajdonság HAMIS értékre van állítva, a katalógus az "önéletrajz" és az "önéletrajz" kifejezést úgy kezeli, mintha ugyanaz a szó lenne.
- Kapcsolati időkorlátok. Ez a tulajdonság azt az időtartamot jelöli, ameddig várni kell egy kiszolgáló vagy adattár kapcsolati válaszára, ahogyan az egy TIMEOUT_INFO struktúrában látható. Ezzel a tulajdonsággal finomhangolhatja a Windows Search szolgáltatást.
- Adat időtúllépései Ez a tulajdonság azt az időtartamot jelöli, amíg az indexelő és egy protokollkezelő vagy -szűrő közötti adattranzakcióra várni kell, ahogyan az egy TIMEOUT_INFO struktúrában látható. Ha ez az idő eltelt, a szűrődémonból származó folyamat leáll, hogy megelőzze a holtpontot és más erőforrásproblémákat.
Az utolsó két tulajdonság elsősorban jövőbeli használatra szolgál. Mindegyik tulajdonság get és put metódusokkal rendelkezik.
| Módszer | Leírás |
|---|---|
|
get_DiacriticSensitivity / put_DiacriticSensitivity |
IGAZ, ha a katalógusnak megkülönböztetnie kell a szavakat a mellékjelekkel. HAMIS, ha a katalógusnak figyelmen kívül kell hagynia az ékjeleket. A tulajdonság módosításához újra kell építeni az indexet, mert előfordulhat, hogy az index kulcsai érvénytelenek lesznek. |
|
get_ConnectTimeout / put_ConnectTimeout |
Az az idő másodpercben, amikor az indexelőnek várnia kell egy kiszolgáló vagy adattár kapcsolati válaszára. A túl magas beállítás késést okozhat, ha sok webhely nem válaszol. Ha túl alacsonyra állítja, bizonyos webhelyek nem lesznek bejárva. |
|
get_DataTimeout / put_DataTimeout |
Az az idő másodpercben, amikor az indexelőnek várnia kell egy adattranzakcióra. |
Futtatás emelt szintű módban
A SystemIndexet frissítő metódushívásokhoz az alkalmazás futtatásához emelt szintű jogosultságokra van szükség. Ellenkező esetben az alkalmazás a hozzáférés megtagadása hibával fog meghiúsulni.
Kapcsolódó témakörök
Index kezelése
Index- kezelésére szolgáló felületek
A keresési menedzser használata