Немецкий 'ue' -> 'u' преобразование в Lucene
У меня есть два вопроса относительно обработки немецких умлаутов в Lucene:
Я пытаюсь найти способ конвертировать немецкие умлауты, написанные как 'ue', 'ae' и т. Д., В сложенную форму 'u', 'a' и так далее. Это сделано GermanAnalyzer (и German2StemFilter, которым он пользуется), но, к сожалению, он также делает стеминг, что очень нежелательно в моем случае. Есть ли другой фильтр, который может выполнять только преобразование 'ue' -> 'u'?
Есть ли какой-нибудь фильтр, который преобразует 'ü' -> 'ue' (НЕ 'u', как это делает ASCIIFoldingFilter)? Я пытаюсь добиться того, чтобы слово "über" находилось в индексе всякий раз, когда пользователь ищет "über" или "ueber", но НЕ "uber".
2 ответа
Алгоритм German2, но без
Вы можете использовать MappingCharFilterFactory и предоставить свой собственный файл сопоставления, где вы можете делать все, что захотите, например 'ü' -> 'ue'