Lucene-zoekdeelnemers
ID:
org.eclipse.help.base.luceneSearchParticipants
Sinds:
3.2
Beschrijving:
Gebruik dit extensiepunt om documentcontent aan de Lucene-zoekindex toe te voegen. Er zijn twee situaties waarin u een zoekdeelnemer zou toevoegen:
-
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.
-
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.
Configuratiemarkup:
<!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">
- id - het unieke ID van deze zoekdeelnemer.
- name - een optionele vertaalbare naam waarmee de deelnemer wordt aangeduid als categorie van documenten die in de zoekopdracht kunnen worden opgenomen. De naam hoeft niet te worden opgegeven als de deelnemer voor documenten in de inhoudsopgave wordt gebruikt (wanneer het kenmerk
extensions
dus is ingesteld).
- icon - een optioneel pictogram voor het aanduiden van zoektreffers uit documenten die door deze deelnemer zijn geïndexeerd. Voor documenten buiten de inhoudsopgave wordt het pictogram gebruikt om aan te geven dat bij het openen van de treffer mogelijk niet het normale Help-document wordt afgebeeld. Het pictogram hoeft niet te worden opgegeven als de deelnemer voor documenten in de inhoudsopgave wordt gebruikt (wanneer het kenmerk
extensions
dus is ingesteld).
- participant - (nieuw in 3.2) de implementatieklasse voor de Help-zoekdeelnemer. Deze klasse moet de interface org.eclipse.help.search.ILuceneSearchParticipant implementeren. Dit kenmerk is niet verplicht; u kunt ook het geneste element participant opgeven.
- extensions - een optioneel veld dat de lijst met bestandstypen bevat die door de zoekdeelnemer kunnen worden verwerkt. Dit is een reeks met bestandsextensies die van elkaar worden gescheiden door een komma (bijvoorbeeld "abc, xyz"). Gebruik dit kenmerk om bestanden expliciet te registreren voor het Help-systeem in het extensiepunt
org.eclipse.help.toc
. Als u het kenmerk weglaat, worden alle documenten geïndexeerd waarvoor de deelnemer zelf moet zorgen.
Deelnemers die voor bepaalde documenten zijn geregistreerd, hebben een bereik op pluginniveau. Als u een deelnemer op documenten in een andere plugin wilt toepassen, moet u het bereik uitbreiden met het element binding
. Deelnemers waarvoor dit kenmerk daarentegen niet is opgegeven, hebben een globaal bereik.
- headless - geeft aan of deze zoekdeelnemer moet worden gebruikt wanneer het Help-systeem buiten de Eclipse-workbench wordt uitgevoerd (dus als zelfstandige toepassing of als Informatiecentrum). De standaardwaarde is
false
.
<!ELEMENT participant (parameter*)>
<!ATTLIST participant
class CDATA #IMPLIED>
- class - de implementatieklasse voor de Help-zoekdeelnemer. Deze klasse moet de interface org.eclipse.help.search.ILuceneSearchParticipant implementeren.
<!ELEMENT parameter EMPTY>
<!ATTLIST parameter
name CDATA #REQUIRED
value CDATA #REQUIRED>
- name - de naam van de parameter die aan de implementatieklasse wordt doorgegeven.
- value - de waarde van de parameter die aan de implementatieklasse wordt doorgegeven.
<!ELEMENT binding EMPTY>
<!ATTLIST binding
participantId CDATA #IMPLIED>
- participantId - een verwijzing naar een zoekdeelnemer die elders is gedeclareerd met het element
searchParticipant
. Met een binding kunt u zoekdeelnemers hergebruiken in plugins zonder het hiërarchiebeleid te overtreden. U hoeft een binding alleen te creëren voor het indexeren van documenten die zich buiten de inhoudsopgave bevinden. Deelnemers hebben anders een globaal bereik.
Voorbeelden:
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>
API-informatie:
De verstrekte zoekdeelnemerklasse moet de abstracte klasse org.eclipse.help.search.LuceneSearchParticipant uitbreiden.
Verstrekte implementatie:
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.
Copyright (c) 2005, 2006 IBM Corporation en anderen.
Alle rechten voorbehouden. Dit programma en het begeleidende materiaal zijn beschikbaar gesteld onder de voorwaarden van de Eclipse Public License v1.0 die bij deze distributie is geleverd en beschikbaar is op http://www.eclipse.org/legal/epl-v10.html.