Uczestnicy wyszukiwania (Lucene)
Identyfikator:
org.eclipse.help.base.luceneSearchParticipants
Dostępne od wersji:
3.2
Opis:
Opisywany punkt rozszerzenia służy do dodawania treści dokumentów do indeksu wyszukiwania mechanizmu Lucene. Poniżej opisano dwa przypadki, w których dodaje się uczestników wyszukiwania.
-
Indeksowanie dokumentów zarejestrowanych w spisie treści systemu pomocy, które utworzono w formacie innym niż HTML (np. XML). W tym przypadku uczestnik wyszukiwania musi zadeklarować obsługiwane przez siebie rozszerzenia plików i jest wywoływany w celu zaindeksowania każdego dokumentu spełniającego kryteria wyszukiwania. W tym wariancie uczestnik wyszukiwania działa wyłącznie w obrębie wtyczki.
-
Indeksowanie dokumentów znajdujących się poza spisem treści systemu pomocy. W tym przypadku uczestnik wyszukiwania może jednocześnie indeksować wszystkie znane dokumenty. Ponadto uczestnik przejmuje zadanie otwierania wyników wyszukiwania, ponieważ system pomocy nie umożliwia otwierania dokumentów spoza spisu treści. W tym wariancie uczestnik wyszukiwania ma zasięg globalny.
Uczestnicy wyszukiwania są powiązani z wtyczkami, w których występuje dane rozszerzenie. Aby ponownie wykorzystać uczestników wyszukiwania w innych wtyczkach, należy utworzyć odwołania do nich za pomocą elementu binding
. Dzięki zastosowaniu tej metody wtyczka nie może narzucać całemu produktowi swoich uczestników wyszukiwania w odniesieniu do rozszerzeń plików, które zostały wraz z nią zarejestrowane. Dodanie jawnego odwołania umożliwia umieszczenie we wtyczce deklaracji wskazującej, że pozwala ona indeksować dokumenty o takich rozszerzeniach za pośrednictwem uczestnika wyszukiwania, którego dotyczy takie odwołanie. Powyższy problem nie występuje w przypadku dokumentów, które nie są uwzględnione w spisie treści. Są to dokumenty o charakterze globalnym, w związku z czym nie należy stosować elementu binding
.
Znaczniki konfiguracji:
<!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 - unikalny identyfikator uczestnika wyszukiwania.
- name - opcjonalna, nadająca się do tłumaczenia nazwa pozwalająca odzwierciedlić uczestnika wyszukiwania jako kategorię dokumentów, które można objąć wyszukiwaniem. Nazwa ta nie jest wymagana, jeśli dany uczestnik wyszukiwania jest stosowany w odniesieniu do dokumentów zawartych w spisie treści (tzn. jeśli ustawiono atrybut
extensions
).
- icon - opcjonalna ikona służąca do wyświetlania obiektów wyszukanych w dokumentach zaindeksowanych przez danego uczestnika. W przypadku dokumentów spoza spisu treści systemu pomocy ikona ta oznacza, że otwarcie wyszukanego obiektu może spowodować wykonanie czynności innej niż wyświetlenie typowego dokumentu pomocy. W związku z tym ikona nie jest wymagana, jeśli dany uczestnik wyszukiwania jest stosowany w odniesieniu do dokumentów zawartych w spisie treści (tzn. jeśli ustawiono atrybut
extensions
).
- participant (nowość w wersji 3.2) - klasa implementacji uczestnika wyszukiwania w systemie pomocy. Klasa ta musi służyć do implementacji interfejsu org.eclipse.help.search.ILuceneSearchParticipant. Opisywany atrybut można pominąć, umieszczając zamiast niego zagnieżdżony element participant.
- extensions - opcjonalne pole zawierające listę typów plików obsługiwanych przez uczestnika wyszukiwania. Jest to łańcuch zawierający oddzielone przecinkami rozszerzenia plików (np. "abc, xyz"). Z atrybutu tego należy korzystać, jeśli pliki są jawnie udostępniane systemowi pomocy w punkcie rozszerzenia
org.eclipse.help.toc
. Brak tego atrybutu wskazuje, że uczestnik wyszukiwania będzie samodzielnie indeksować wszystkie dokumenty, za które odpowiada.
Należy również pamiętać, że uczestnicy zarejestrowani w odniesieniu do znanych dokumentów działają w obrębie wtyczki. Aby zastosować uczestnika wyszukiwania do dokumentów zawartych w innej wtyczce, należy rozszerzyć zakres jego działania za pomocą elementu binding
. Uczestnicy, w przypadku których nie określono powyższego atrybutu, mają zasięg globalny.
- headless - atrybut ten określa, czy dany uczestnik wyszukiwania ma być wykorzystywany w przypadku uruchamiania systemu pomocy poza środowiskiem roboczym Eclipse, np. w trybie autonomicznym lub w trybie Centrum informacyjnego. Wartość domyślna to
false
.
<!ELEMENT participant (parameter*)>
<!ATTLIST participant
class CDATA #IMPLIED>
- class - klasa implementacji uczestnika wyszukiwania w systemie pomocy. Klasa ta musi służyć do implementacji interfejsu org.eclipse.help.search.ILuceneSearchParticipant.
<!ELEMENT parameter EMPTY>
<!ATTLIST parameter
name CDATA #REQUIRED
value CDATA #REQUIRED>
- name - nazwa parametru przekazywana do klasy implementacji.
- value - wartość parametru przekazywana do klasy implementacji.
<!ELEMENT binding EMPTY>
<!ATTLIST binding
participantId CDATA #IMPLIED>
- participantId - odwołanie do uczestnika wyszukiwania zadeklarowanego w innym miejscu za pomocą elementu
searchParticipant
. Powiązania pozwalają na ponowne wykorzystanie uczestników wyszukiwania we wtyczkach bez naruszania reguły działania zstępującego. Powiązanie jest niezbędne wyłącznie do indeksowania dokumentów uwzględnionych w spisie treści. W pozostałych przypadkach uczestnik wyszukiwania ma zasięg globalny.
Przykłady:
Poniżej przedstawiono przykład zastosowania opisywanego punktu rozszerzenia.
<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>
Informacje o interfejsie API:
Udostępniona klasa uczestnika wyszukiwania musi rozszerzać klasę abstrakcyjną org.eclipse.help.search.LuceneSearchParticipant.
Dostarczana implementacja:
W systemie plików dostarczany jest uczestnik wyszukiwania dla plików XHTML (rozszerzenie .xhtml). Wtyczki zawierające dynamiczne dokumenty XHTML w spisie treści muszą tworzyć powiązania z tym uczestnikiem za pomocą elementu binding
oraz identyfikatora docelowego uczestnika org.eclipse.help.base.xhtml
.
Copyright (c) 2005, 2006 IBM Corporation i inne podmioty.
Wszelkie prawa zastrzeżone. Program ten oraz towarzyszące mu materiały są udostępniane na warunkach licencji EPL (Eclipse Public License), wersja 1.0, dołączonej do nich i dostępnej pod adresem http://www.eclipse.org/legal/epl-v10.html.