В одной из наших предыдущих глав мы видели, что Lucene использует IndexWriter для анализа документов с использованием анализатора, а затем создает / открывает / редактирует индексы по мере необходимости. В этой главе мы собираемся обсудить различные типы объектов Analyzer и другие соответствующие объекты, которые используются в процессе анализа. Понимание процесса анализа и работы анализаторов поможет вам лучше понять, как Lucene индексирует документы.
Ниже приведен список объектов, которые мы обсудим в свое время.
Токен представляет текст или слово в документе с соответствующими деталями, такими как его метаданные (позиция, начальное смещение, конечное смещение, тип токена и приращение его позиции).
TokenStream является результатом процесса анализа и состоит из серии токенов. Это абстрактный класс.
Это абстрактный базовый класс для каждого типа анализатора.
Этот анализатор разбивает текст в документе на основе пробелов.
Этот анализатор разбивает текст в документе на основе буквенных символов и помещает текст в нижний регистр.
Этот анализатор работает так же, как SimpleAnalyzer и удаляет общие слова, такие как «a», «an», «the» и т. Д.
Это самый сложный анализатор, способный обрабатывать имена, адреса электронной почты и т. Д. Он записывает каждый токен в нижнем регистре и удаляет общие слова и знаки препинания, если таковые имеются.