Lucene 搜尋參與者

org.eclipse.help.base.luceneSearchParticipants

3.2

這個延伸點可將文件內容新增至 Lucene 搜尋索引。有兩種情況可能需要新增搜尋參與者:
  1. 檢索以說明系統的 TOC 來登錄的文件,但 TOC 不是 HTML 格式(例如 XML)。在此情況下,參與者必須宣告可處理的副檔名。將呼叫來檢索每一個相符的文件。在此情況下,參與者有外掛程式範圍。
  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 文件的外掛程式,必須以 binding 元素來連結至這個參與者,並以 org.eclipse.help.base.xhtml 做為目標參與者 id。