Lucene-zoekdeelnemers

org.eclipse.help.base.luceneSearchParticipants

3.2

Gebruik dit extensiepunt om documentcontent aan de Lucene-zoekindex toe te voegen. Er zijn twee situaties waarin u een zoekdeelnemer zou toevoegen:
  1. Het indexeren van documenten die wel in de inhoudsopgave van het Help-systeem zijn opgenomen maar niet van het type HTML zijn (bijvoorbeeld XML). De deelnemer moet in dit geval bestandsextensies declareren die kunnen worden afgehandeld. De deelnemer wordt voor het indexeren van elk overeenkomstig document aangeroepen. In dit geval heeft de deelnemer pluginbereik.
  2. Het indexeren van documenten buiten de inhoudsopgave van het Help-systeem. In dit geval kunnen alle bij de deelnemer geregistreerde documenten tegelijkertijd worden geïndexeerd. Bovendien neemt de deelnemer de taak van het openen van zoekresultaten over, omdat het Help-systeem geen documenten buiten de inhoudsopgave kan openen. In dit geval heeft de deelnemer een globaal bereik.

Een zoekdeelnemer is gekoppeld aan de plugin waarin de extensie voorkomt. Als u de deelnemer opnieuw wilt gebruiken in een andere plugin, kunt u er met binding naar verwijzen. Zo wordt voorkomen dat de deelnemer van een plugin voor het gehele product geldt voor de geregistreerde bestandsextensies. Als u een expliciete verwijzing instelt, wordt door de plugin gedeclareerd dat de gekoppelde zoekdeelnemer het indexeren van documenten met deze extensies mag uitvoeren. Dit probleem geldt niet voor documenten die niet in de inhoudsopgave zijn opgenomen. Ze zijn namelijk globaal en kunnen niet met binding worden gebruikt.

<!ELEMENT extension (searchParticipant | binding)>

<!ATTLIST extension

point CDATA #REQUIRED

id    CDATA #IMPLIED

name  CDATA #IMPLIED>


<!ELEMENT searchParticipant (participant?)>

<!ATTLIST searchParticipant

id          CDATA #REQUIRED

name        CDATA #IMPLIED

icon        CDATA #IMPLIED

participant CDATA #IMPLIED

extensions  CDATA #IMPLIED

headless    (true | false) "false">


<!ELEMENT participant (parameter*)>

<!ATTLIST participant

class CDATA #IMPLIED>


<!ELEMENT parameter EMPTY>

<!ATTLIST parameter

name  CDATA #REQUIRED

value CDATA #REQUIRED>


<!ELEMENT binding EMPTY>

<!ATTLIST binding

participantId CDATA #IMPLIED>


Dit is een voorbeeld van de extensie luceneSearchParticipant:

  

<extension point=

"org.eclipse.help.base.luceneSearchParticipant"

>

<searchParticipant id=

"org.eclipse.myGlobalParticipant"

name=

"Globale deelnemer"

icon=

"icons/mydoc.gif"

participant=

"org.eclipse.myPlugin.myPackage.MyGlobalParticipant"

headless=

"true"

/>

<searchParticipant id=

"org.eclipse.myXYZParticipant"

extensions=

"xyz"

participant=

"org.eclipse.myPlugin.myPackage.MyXYZParticipant"

/>

</extension>

De verstrekte zoekdeelnemerklasse moet de abstracte klasse org.eclipse.help.search.LuceneSearchParticipant uitbreiden.

Het Help-systeem biedt een zoekdeelnemer voor XHTML-bestanden. Als de inhoudsopgave van een plugin dynamische XHTML-bestanden bevat, kan deze deelnemer worden geregistreerd met het element binding. Gebruik org.eclipse.help.base.xhtml als het doel-ID van de deelnemer.