Анализатор Lucene

org.eclipse.help.base.luceneAnalyzer

3.0 (впервые появился в версии 2.0 под именем org.eclipse.help.luceneAnalyzer)

Эта точка расширения предназначена для регистрации текстовых анализаторов, используемых справочной системой при индексации документации и поиске в ней.

Справочная система работает на основе поискового сервера Lucene, позволяющего индексировать маркированные потоки (потоки слов). Анализаторы создают маркеры из символьного потока. Они просматривают текстовое содержимое и предоставляют маркеры, предназначенные для использования в индексе. Снабдить текстовый поток маркерами можно многими различными способами. Простейший анализатор маркирует потоки по пробелам, более сложный может фильтровать маркеры в зависимости от потребностей приложений. Поскольку большая часть документации - это обычный текст, предназначенный для чтения пользователями, желательно, чтобы анализаторы, применяемые справочной системой, выполняли маркировку и нормировку индексированного текста с учетом его языковых и грамматических особенностей. Для некоторых языков качество поиска значительно возрастает после удаления общеупотребительных слов и выделения основ в индексированном тексте.

Анализатор, добавляемый в этой точке расширения, переопределяет тот, который предоставляется справочной системой Eclipse для заданной локали.

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


Ниже приведен пример конфигурации анализатора Lucene:

 

<extension id=

"com.xyx.XYZ"

point=

"org.eclipse.help.base.luceneAnalyzer"

>

<analyzer locale=

"ll_CC"

class=

"com.xyz.ll_CCAnalyzer"

/>

</extension>

В атрибуте locale должна быть задана либо пяти-, либо двухсимвольная строка локали. В случае двухбуквенного обозначения языка анализатор может использоваться для всех локалей этого языка. Если же в анализаторе задана пятисимвольная локаль, то он используется вместо анализатора предыдущего типа.

Значение атрибута class должно представлять класс, расширяющий org.apache.lucene.analysis.Analyzer. Рекомендуется, чтобы этот анализатор выполнял фильтрацию строчных букв в языках, в которых можно увеличить число обнаруживаемых соответствий при поиске, выполняя поиск с учетом регистра.

Справочная система Eclipse предоставляет анализаторы для всех языков. Для английского и немецкого языков анализаторы выполняют фильтрацию общеупотребительных слов, фильтрацию строчных букв и выделение основ. Для всех остальных языков предоставляемый анализатор выполняет только фильтрацию строчных букв.