Als de gebruiker een resource selecteert en een zoekopdracht kiest, opent de zoekplugin een dialoogvenster met pagina's voor verschillende soorten zoekopdrachten in de inhoud. Deze pagina's worden aangeleverd met het extensiepunt org.eclipse.search.searchPages.
De markup voor het aanleveren van een zoekpagina is niet ingewikkeld. Het volgende voorbeeld is de JDT-pluginaanlevering van de Java-zoekpagina:
<extension point="org.eclipse.search.searchPages"> <page id="org.eclipse.jdt.ui.JavaSearchPage" icon="icons/full/obj16/jsearch_obj.png" label="%JavaSearchPage.label" sizeHint="460,160" extensions="java:90, jav:90" showScopeSection="true" canSearchEnclosingProjects="true" class="org.eclipse.jdt.internal.ui.search.JavaSearchPage"> </page> </extension>
De klasse (class) waarin de zoekpagina is geïmplementeerd, moet worden opgegeven. In deze klasse moet de interface ISearchPage zijn geïmplementeerd. Meestal breidt de klasse DialogPage uit. Ook het label en het pictogram (icon) waarmee de zoekopdracht in het zoekvenster beschreven kan worden, moet worden opgegeven. Aanvullende parameters bepalen de grootte van de pagina en de locatie in het zoekvenster.
Het kenmerk extensions geeft de resources op waarop de zoekpagina kan functioneren. Het kenmerk heeft de vorm van een door komma's gescheiden lijst met bestandsextensies. Iedere bestandsextensie moet worden gevolgd door een dubbele punt en een numerieke waarde voor prioriteit, waarbij 0 de laagste prioriteit is. De prioriteit is een relatieve waarde die voor de zoekinfrastructuur wordt gebruikt om de geschiktste zoekpagina voor een bepaalde resource te vinden.
Als een zoekpagina alle mogelijke resources kan doorzoeken, moet "*" worden gebruikt.
Het protocol voor ISearchPage is eenvoudig. In de zoekpagina moet performAction()
zijn geïmplementeerd. Deze wordt aangeroepen als op de knop Zoeken wordt gedrukt. De specifieke zoekimplementatie hangt natuurlijk af van de functie van de plugin, maar meestal wordt een resultaatviewer geopend met de NewSearchUI-methode activateSearchResultView().
De plugin zorgt voor het afbeelden van de resultaten in de view Zoekresultaten.