Недавно я заметил, что поведение Lucene StandardAnalyzer несколько изменилось по сравнению с версией 3.1. Конкретно, 3.0 и предыдущие версии распознавали электронную почту, IP-адреса, названия компаний и т. Д. Как отдельные лексические типы, в то время как более поздние версии этого не делали.
Например, для вводимого текста: «[email protected] 127.0.0.1 H&M» анализатор 3.0 распознает следующие типы:
1: [email protected]: 0-> 16: ‹EMAIL>
2: 127.0.0.1: 17-> 26: ‹HOST>
3: h & m: 27-> 30: ‹КОМПАНИЯ>
Однако версия 3.1 и более поздние версии дают следующий результат для того же входного текста:
1: пример: 0-> 7: ‹БУКВЕННЫЙ>
2: mail.com: 8-> 16: ‹БУКВЕННЫЙ>
3: 127.0.0.1: 17-> 26: ‹ЧИСЛО>
У меня вопрос: как мне реализовать старое поведение StandardAnalyzer с новой версией библиотеки Lucene? Существуют ли стандартные фильтры TokenFilters, которые могут помочь мне в этом, или мне нужно реализовать собственные фильтры?