Partecipanti di ricerca Lucene

org.eclipse.help.base.luceneSearchParticipants

3.2

Questo punto di estensione deve essere utilizzato per aggiungere contenuto di documento all'indice di ricerca Lucene. Due sono i casi in cui è possibile aggiungere un partecipante di ricerca:
  1. Per indicizzare i documenti registrati con il sommario della guida non in formato HTML (ad esempio, XML). In questo caso, il partecipante deve dichiarare le estensioni file che può gestire. Verrà richiamato per indicizzare tutti i documenti corrispondenti. In questo caso, il partecipante dispone dell'ambito del plugin.
  2. Per indicizzare i documenti esterni al sommario della guida. In questo caso, il partecipante potrà indicizzare tutti i documenti noti in una sola volta. Inoltre il partecipante dovrà aprire i risultati della ricerca perché la guida non è in grado di aprire documenti esterni al sommario. In questo caso, il partecipante dispone dell'ambito globale.

I partencipanti alla ricerca sono associati al plugin in cui appare l'estensione. Per riutilizzare il partecipante in altri plugin, utilizzare binding per creare riferimenti. Questa strategia impedisce al plugin di imporre i propri partecipanti all'intero prodotto per le estensioni file con cui è stato registrato. Aggiungendo un riferimento esplicito, il plugin dichiara che consente ai partecipanti alla ricerca di riferimento di gestire l'indicizzazione dei documenti con tali estensioni. Per i documenti che non fanno parte del sommario, non esiste questo rischio. Per questo motivo, sono globali e non deve essere utilizzato binding.

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


Di seguito è riportato un utilizzo esemplificativo del punto di estensione:

  

<extension point=

"org.eclipse.help.base.luceneSearchParticipant"

>

<searchParticipant id=

"org.eclipse.myGlobalParticipant"

name=

"Global Participant"

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>

Il partecipante alla ricerca fornito deve estendere la classe astratta org.eclipse.help.search.LuceneSearchParticipant.

Il sistema della guida fornisce il partecipante alla ricerca per i file XHTML (estensione xhtml). I plugin con documenti XHTML dinamici come parte del sommario devono essere associati al partecipante mediante l'elemento binding e org.eclipse.help.base.xhtml come id del partecipante di destinazione.