Keresőmotor

org.eclipse.help.ui.searchEngine

3.1

Ez a kiterjesztési pont az egyesített súgókeresés további kereséssegédeinek csatlakoztatására szolgál. Minden egyes keresőmotort egyénileg leget beállítani. A keresés kezdeményezésekor minden egyes keresőmotor végrehajtásra kerül háttérfeladatként, az eredmények pedig azonnal leválogatásra kerülnek a súgónézetben a lekérdezés alatt.

Az itt meghatározott keresőmotorok nem jelennek meg automatikusan egyesített keresési résztvevőként, amíg a motor termékkötése nincs létrehozva, kivéve, ha a productId attribútum meghatározatlanul van hagyva. Azon motorok közül, amelyek meghatározzák, csak egy bizonyos termékhez kötöttek jelennek meg, amikor a termék fut.

A keresőmotorok egyszerűen össze tudnak állítani egy URL címet és egyetlen találatot biztosítanak, amely az URL címet href elemként tartalmazza. Azon népszerű keresőmotorok, melyek API támogatása licencet igényel, csatlakoztathatóak ezzel a módszerrel. A spektrum másik végén lévő keresőmotorok képesek kommunikálni a kiszolgálóval és egyedi találatokat fogadni olyan információkkal, mint címke, href, rövid leírás, pontszám, stb. Helyi keresőmotor ezzel a módszerrel állíthatja elő a találatokat.

A keresési mechanizmustól függetlenül a motorok változatos keresési hatókör beállításokat biztosíthatnak JFace beállításoldalak használatával. Ezek az oldalak jelennek meg a Súgónézet 'További beállítások' hivatkozásának követésekor. A motorral meghatározott gyökér beállításoldalak kiegészítéseként, további beállítás aloldalak csatlakoztathatóak további fejlett beállítások eléréséhez.

A hatókör beállításai IPreferenceStore objektumok használatával kerülnek betöltésre és tárolásra. Az összes motor hatókörbeállításai együtt csoportosítva vannak egy hatókörhalmazban. Az első megnyitásakor létrejön az alapértelmezett hatókörhalmaz ('Alapértelmezett'), de a felhasználók meghatározhatnak további hatókörhalmazokat és váltogathatnak köztük.

Mivel az egyesített keresés támogatása a org.eclipse.help.base bedolgozó része, egy gyár szükséges a keresési hatókörobjektumok létrehozásához a beállítástárolóban lévő adatokból. A hatókörbeállítás-oldalakat csatlakoztató ügyfeleknek hatókör gyárakat is szükséges csatlakoztatniuk.

Az ebben a kiterjesztési pontban meghatározott motorok alapértelmezésben nem jelennek meg a felhasználói felületen. Itt a keresőmotor egy konkrét példánya jelenik meg, ami egyedileg módosítható. A termékek előzetesen konfigurálhatják a súgórendszert a bejegyzett motortípusok számos példányával, esetleg paraméterezve, hogy a kívánt módon teljesítsenek. Ezenkívül a felhasználók felvehetik a bejegyzett motorok saját példányait és kedvük szerint állíthatják be azokat.

<!ELEMENT extension (engineType* , engine*)>

<!ATTLIST extension

point CDATA #REQUIRED

id    CDATA #IMPLIED

name  CDATA #IMPLIED>


<!ELEMENT engineType (description? , subpage*)>

<!ATTLIST engineType

id           CDATA #REQUIRED

label        CDATA #REQUIRED

icon         CDATA #IMPLIED

class        CDATA #REQUIRED

pageClass    CDATA #IMPLIED

scopeFactory CDATA #IMPLIED>

Egy adott típusú keresőmotort ad meg. A keresőmotor-típus használható egy konkrét motorpéldány létrehozására a felhasználó által vagy a termék által előre betölthető. Hogy hasznosak legyenek, a motortípusoknak konfigurálhatónak kell lenniük, így egy motortípus felhasználásával számos motor létrehozható.



<!ELEMENT description (#PCDATA)>

a keresőmotor rövid leírása



<!ELEMENT subpage EMPTY>

<!ATTLIST subpage

id       CDATA #REQUIRED

label    CDATA #REQUIRED

class    CDATA #IMPLIED

category CDATA #REQUIRED>

az engine elemben megadott fő hatókör-beállításoldal leszármazott oldala. Ha a pageClass motorattribútum nincs megadva, akkor az aloldalak figyelmen kívül maradnak.



<!ELEMENT engine (description? , param*)>

<!ATTLIST engine

productId    CDATA #IMPLIED

engineTypeId CDATA #REQUIRED

enabled      (true | false)

label        CDATA #IMPLIED

id           CDATA #REQUIRED>

Egy adott keresőmotor-típus konkrét példányát adja meg. A példány a termékhez köthető annak érdekében, hogy csak akkor jelenjen meg, ha a termék aktív. A motor saját szinttel és leírással rendelkezhet. Ha nincs megadva, akkor a motortípus adatai kerülnek felhasználásra. Végül minden motortípus megad egy érvényes paraméterhalmazt, amelyet a beállítás érdekében át lehet neki adni. A motorok megadhatják ezen paraméterek értékeit.



<!ELEMENT param EMPTY>

<!ATTLIST param

name  CDATA #REQUIRED

value CDATA #REQUIRED>

a keresőmotor-típus adott példányának beállítására használt elhagyható paraméter. Az érvényes paramétereket a motortípus határozza meg.



A következő a súgó keresési kiterjesztésére példa:

   

<extension point=

"org.eclipse.help.ui.searchEngine"

>

<engineType scopeFactory=

"com.example.xyz.XYZScopeFactory"

label=

"XYZ Search"

class=

"com.example.xyz.search.XYZSearch"

icon=

"icons/etool16/xyzsearch.gif"

pageClass=

"com.example.xyz.search.XYZSearchPage"

id=

"com.example.xyz.XYZSearch"

>

<description>

Az XYZ keresés példányai az XYZ hely keresésére.

</description>

</engineType>

<engine enabled=

"true"

engineTypeId=

"com.example.xyz.search.XYZSearch"

id=

"com.example.xyz.XYZSearch"

label=

"XYZ Search"

>

</engine>

<engine enabled=

"true"

engineTypeId=

"org.eclipse.help.ui.web"

id=

"org.eclipse.sdk.Eclipse"

label=

"%search.Eclipse.label"

>

<description>

%search.Eclipse.desc

</description>

<param name=

"url"

value=

"http://eclipse.org/search/search.cgi?q={expression}&amp;ul=&amp;ps=20&amp;m=all"

>

</param>

</engine>

</extension>

Az engineType elem class attribútumának az org.eclipse.help.search.ISearchEngine elemet megvalósító osztály teljes képzésű nevét kell biztosítania. A pageClass attribútumnak az org.eclipse.help.ui.RootScopePage osztályt kiterjesztő osztály teljes képzésű nevét kell biztosítania. A scopeFactory attribútumnak az org.eclipse.help.ui.ISearchScopeFactory elemet megvalósító osztály teljes képzésű nevét kell biztosítania. A subpage elem class attribútumának az org.eclipse.help.ui.ISearchScopePage elemet megvalósító osztály teljes képzésű nevét kell biztosítania.

A súgó felhasználói felület bedolgozó keresőmotor-típusokat biztosít a helyi súgódokumentációhoz, az InfoCenterhez és a webes kereséshez valamint a helyi súgó keresőmotor-példányhoz. A példány nem fogad el paramétereket és nincs termékazonosítója, ezért nem minden termékben jelenik meg.

A termékek létre tudják hozni az InfoCenter és a webes keresés konkrét példányait a motorazonosító és a szükséges paraméterek használatával.

Az InfoCenter motortípus org.eclipse.help.ui.infoCenter motorazonosítóval rendelkezik és egy url paramétert fogad el. Ez a paraméter a távoli kiszolgálóra mutat, amelyen az InfoCenter telepítve van. A találatok ugyanúgy kerülnek megjelenítésre, mint a helyi súgótalálatok.

A webes keresőmotor org.eclipse.help.ui.web motorazonosítóval rendelkezik és egy url paramétert fogad el, amely egy konkrét keresési lekérdezést ábrázol. Ebben a lekérdezésben az aktuális keresési karaktersorozat '{expression}' szimbólummal lesz helyettesítve az alábbi példában látható módon:

http://eclipse.org/search/search.cgi?q={expression}&ul=&ps=20&m=all

A webes keresési találatok hivatkozásként jelennek meg, amely megnyitja a webböngészőt az url paraméterben lévő keresési karaktersorozat helyettesítésével.