Lucene 検索参加プログラム

org.eclipse.help.base.luceneSearchParticipants

3.2

この拡張ポイントは、Lucene 検索索引へ文書のコンテンツを追加する場合に使用する必要があります。検索参加者を追加する 2 つのケースがあります。
  1. HTML フォーマット以外 (例えば、XML) のヘルプ・システムの TOC で登録された文書を索引付けする場合。このケースでは、参加者は取り扱い可能なファイル拡張子を宣言する必要があります。これが、一致する各文書を索引付けするために呼び出されます。このケースでは、参加者はプラグイン・スコープを持っています。
  2. ヘルプ・システムの TOC の外部で文書を索引付けする場合。このケースでは、参加者は知っているすべての文書を一度に索引付けする機会を与えられます。さらに、参加者は、検索結果を開くタスクを委任されます。ヘルプ・システムは TOC の外部で文書を開く方法を知らないからです。このケースでは、参加者にグローバルなスコープがあります。

検索参加者は、拡張子が表示されるプラグインと関連付けされています。参加者を別のプラグインで再利用するために、binding を使用して参照します。この戦略によって、プラグインが、それが登録されたファイル拡張子の製品全体に参加者を課すことを防ぎます。明示的な参照を追加することによって、プラグインは、参照された検索参加者にこれらの拡張子で文書の索引付けを取り扱うことを許可することを宣言します。 TOC の一部ではない文書の場合は、このような危険はありません。この理由から、グローバルであるので、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>


拡張ポイントの使用例を以下に示します。

  

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

提供された検索参加者クラスは、org.eclipse.help.search.LuceneSearchParticipant 抽象クラスを拡張する必要があります。

ヘルプ・システムは、XHTML ファイル (xhtml 拡張子) のための検索参加者を提供します。 TOC の一部として動的な XHTML 文書をもつプラグインは、ターゲット参加者 ID として binding 要素と org.eclipse.help.base.xhtml を使用して、この参加者へバインディングする必要があります。