Участники поиска Lucene
Идентификатор:
org.eclipse.help.base.luceneSearchParticipants
Начиная с:
3.2
Описание:
Эта точка расширения служит для добавления содержимого документов в индекс поиска Lucene.
Существует два случая, в которых может потребоваться добавить участника поиска:
-
Для индексации зарегистрированных оглавлением справочной системы документов, которые не имеют формат HTML (например, XML).
В этом случае участник должен объявить расширения файлов, которыми он может управлять. Этот участник будет вызываться
для индексации всех соответствующих документов. В данном случае участник имеет область действия модуля.
-
Для индексации документов вне оглавления справочной системы. В этом случае участник сможет проиндексировать все документы, о которых ему
известно. Кроме этого, участнику будет передана на выполнение задача открытия результата поиска, поскольку справочной системе
неизвестно, каким образом следует открывать документы вне оглавления. В этом случае участник имеет глобальную область действия.
Участники поиска связаны с модулем, в котором появляется расширение. Для повторного использования участника в других модулях
для ссылки на него следует использовать binding
. Эта стратегия позволяет предотвратить распространения модулем своего
участника на весь продукт для расширений файлов, с которыми он был зарегистрирован. Путем добавления явной ссылки модуль
объявляет, что он позволяет указанному участнику поиска управлять индексацией документов с такими расширениями. Для документов,
не являющихся частью оглавления, такой опасности не существует. По этой причине они являются глобальными, и 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">
- id - уникальный идентификатор этого участника поиска
- name - необязательное локализованное имя, которое будет использовано для представления участника как категорию
документов, которые могут быть включены в поиск. Это имя не требуется, если участник используется для документов в оглавлении
(то есть, если задан атрибут
extensions
).
- icon - необязательный значок, который применяется для вывода результатов поиска из документов, проиндексированных
этим участником. Этот значок будет использован для документов вне оглавления справки, для указания того, что открытие результата
поиска может привести к действию, отличному от показа обычного документа справки. Поэтому значок не требуется, если участник
применяется для документов в оглавлении (то есть, если задан атрибут
extensions
).
- participant - (новое в 3.2) класс реализации для участника поиска по справке. Этот класс должен
реализовывать интерфейс org.eclipse.help.search.ILuceneSearchParticipant. Этот атрибут можно
опустить, предоставив вместо него вложенный элемент participant.
- extensions - необязательное поле, содержащее список типов файлов, обрабатываемых данным участником. Это строка, состоящая из расширений файлов, разделенных запятыми (например, "abc, xyz"). Этот атрибут следует использовать, если файлы явным образом объявлены
справочной системе в точке расширения
org.eclipse.help.toc
. Отсутствие этого атрибута указывает на то, что участник
будет сам индексировать все документы, за которые он отвечает.
Также обратите внимание, что участники, зарегистрированные для известных документов, имеют область действия модуля.
Если следует применять участника к документам в другом модуле, необходимо использовать элемент binding
для расширения области действия. Участники, для которых этот атрибут не задан, имеют глобальную область действия.
- headless - указывает, следует ли использовать данного участника поиска при запуске справочной системы вне
рабочей среды eclipse, то есть если он выполняется в автономном режиме или в режиме infocenter. Значение по умолчанию -
false
.
<!ELEMENT participant (parameter*)>
<!ATTLIST participant
class CDATA #IMPLIED>
- class - реализация класса для участника поиска по справке. Этот класс должен реализовывать интерфейс org.eclipse.help.search.ILuceneSearchParticipant.
<!ELEMENT parameter EMPTY>
<!ATTLIST parameter
name CDATA #REQUIRED
value CDATA #REQUIRED>
- name - имя параметра, передаваемого классу реализации
- value - значение параметра, передаваемого классу реализации
<!ELEMENT binding EMPTY>
<!ATTLIST binding
participantId CDATA #IMPLIED>
- participantId - ссылка на участника поиска, объявленного с помощью элемента
searchParticipant
.
Для повторного использования участников в модулях без нарушения стратегии сверху-вниз можно использовать связывание.
Связывание требуется только для проиндексированных документов, которые являются частью оглавления. В ином случае, участник
имеет глобальную область действия.
Примеры:
Ниже приведен пример использования точки расширения:
<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>
Информация API:
Поставляемый класс участника поиска должен расширять
абстрактный класс org.eclipse.help.search.LuceneSearchParticipant.
Поставляемая реализация:
Справочная система предоставляет участника поиска для
файлов XHTML (расширение xhtml). Модули, содержащие динамические документы XHTML как часть оглавления, должны связываться
с этим участником с помощью элемента binding
и org.eclipse.help.base.xhtml
в качестве ИД целевого участника.
Copyright (c) 2005, 2006 IBM Corporation и других фирм.
Все права защищены.
Эта программа и сопутствующие материалы распространяются на условиях Eclipse Public License v1.0, поставляемой вместе с продуктом и доступной на Web-сайте
http://www.eclipse.org/legal/epl-v10.html