Я использую Lucene 4.4 для анализа небольшого корпуса. Я пробовал StopAnalyzer и StopAnalyzer. Однако многие термины, которые мне не нужны, по-прежнему отображаются в моем результате. Например, «Я», «мы», «x» и т. Д. Итак, мне нужно настроить список запрещенных слов, предоставляемый Lucene. Мои вопросы:
Как мне добавить новые игнорируемые слова? Я знаю, что в Lucene есть этот конструктор для использования настраиваемых стоп-слов.
public StopAnalyzer (версия matchVersion, CharArraySet stopWords)
Но я не хочу создавать заглавные слова с нуля. Я хочу использовать существующие игнорируемые слова и просто добавить дополнительные игнорируемые слова, которые мне нужны.
Как я могу отфильтровать все числа, как словесные, так и буквальные, такие как «1», «20», «пять», «десять» и т. Д.?
Мое решение
- Как показал femtoRgon, список запрещенных слов, предоставляемый Lucene, очень мал и не может быть изменен. Я создал CustomizeStopAnalyzer, который принимает список игнорируемых слов. Я использую StandardTokenizer и связываю несколько фильтров вместе.
- Чтобы удалить числа, мне нужно добавить класс NumericFilter, который проверяет каждый токен, чтобы узнать, является ли он числовым. Большое спасибо,