Egyesített keresőmotor-típusok

Az új egyesített információkeresés a Súgó rendszerben a keresőmotor-típusok és a keresőmotorok elképzelését használja. A motortípus egy meta-motor, amelyből paraméterezéssel számos konkrét keresőmotor hozható létre.

Az új motortípusokat a org.eclipse.help.ui.searchEngine kiterjesztési ponton keresztül lehet hozzáadni:

<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>
Ez a kiterjesztési pont az információkeresés további résztvevőinek 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. Azok a motorok közül, amelyek meghatározzák, csak az egy bizonyos termékhez kötöttek jelennek meg, amikor az a termék fut.

A keresőmotorok képesek egyszerűen egy URL címet képezni és egyetlen találatot biztosítani, amely az URL címet hrefké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ő-konfigurálhatják a súgó rendszert a bejegyzett motortípusok számos példányával, esetleg paraméterezve hogy egy 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:

<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>