Lucene-sökningsdeltagare

org.eclipse.help.base.luceneSearchParticipants

3.2

Den här utökningspunkten ska användas till att lägga till dokumentinnehåll till Lucene-sökindexet. I två fall bör du lägga till en sökdeltagare:
  1. Vid indexering av dokument som registrerats med innehållsförteckningen till hjälpsystemet och som inte är i HTML-format (utan till exempel XML) I det fallet måste deltagaren deklarera de filtillägg som kan användas. Den anropas för att indexera alla överensstämmande dokument. I det fallet har deltagaren omfånget för insticksprogrammet.
  2. Vid indexering av dokument som inte ingår i innehållsförteckningen till hjälpsystemet I det fallet får deltagaren tillfälle att indexera alla kända dokument omedelbart. Dessutom delegeras deltagaren uppgiften att öppna sökresultatet eftersom det inte går att öppna dokument i hjälpsystemet om de inte ingår i innehållsförteckningen. I det fallet har deltagaren globalt omfång.

Sökdeltagare är associerade med det insticksprogram som utökningen visas i. Om du vill att deltagaren ska återanvändas i andra insticksprogram bör du använda binding till att referera till dem. Den här strategin förhindrar att deltagaren i ett insticksprogram används för hela produkten för de filutökningar som den registrerades med. När en explicit referens läggs till deklarerar insticksprogrammet att den tillåter den refererade sökdeltagaren att hantera indexering av dokument med de utökningarna. För dokument som inte ingår i innehållsförteckningen föreligger ingen risk av det här slaget. Av den anledningen är de globala och binding bör inte användas.

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


Här följer ett exempel på användning av utökningspunkten:

  

<extension point=

"org.eclipse.help.base.luceneSearchParticipant"

>

<searchParticipant id=

"org.eclipse.myGlobalParticipant"

name=

"Global deltagare"

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>

Den tillgängliga sökdeltagaren måste utöka den abstrakta org.eclipse.help.search.LuceneSearchParticipant-klassen.

I hjälpsystemet finns en sökdeltagare för XHTML-filer (med filtillägget xhtml). Insticksprogram som har dynamiska XHTML-dokument som en del av innehållsförteckningen måste binda till den här deltagaren med hjälp av elementet binding och org.eclipse.help.base.xhtml som måldeltagar-ID.