Description: This extension oint is used to register text analyzers for use by help when indexng and searching documentation.
Help exploits capabilities of the Lucene search engine, that allows indexing of token streams (streams of words). Analyzers create tokens from the character stream. They examine text content and provide tokens for use with the index. The text stream can be tokenized in many unique ways. A trivial analyzer can tokenize streams at white space, a different one can perform filtering of tokens, based on the application needs. Since the documentation is mostly human-readable text, it is desired that analyzers used by the help system perform language and grammar aware tokenization and normalization of indexed text. For some languages, the quality of search increases significantly if stop word removal and stemming is performed on the indexed text. This extension point allows configuring analyzers for the languages that default help system does not provide language-aware analyzers.
Configuration Markup:
<!ELEMENT extension (analyzer*)>
<!ATTLIST extension
point CDATA #REQUIRED
id CDATA #IMPLIED
name CDATA #IMPLIED
>
<!ELEMENT analyzer EMPTY>
<!ATTLIST analyzer
locale CDATA #REQUIRED
class CDATA #REQUIRED
>
<extension id="com.xyx.XYZ" point="org.eclipse.help.luceneAnalyzer"> <analyzer locale="ll_CC" class="com.xyz.ll_CCAnalyzer"/> </extension>
API Information: The value of the locale attribute must represent either a five- or two-charcter locale string. If the analyzer is configured for a language by specifying two-letter language designation, the analyzer is going to be used for all locales of this language. If the analyzer is configured that matchs a five-character locale, it is going to be used instead.
The value of the class attribute must represent a class that extends org.apache.lucene.analysis.Analyzer. It is recommended that this analyzer performs lowercase filtering for languages where it is possible to increase number of search hits by making search case-sensitive.
Supplied Implementation: Help system comes with English and German analyzers, that are configured to be used for en and de locales respectively. These analyzers perform stop word filtering, lowercase filtering, and stemming. For languages that no analyzers are configured, help uses a simple analyzer that performs lowercase filtering and English stop word filtering.