Я использую Compass/Lucene для поиска и индексирования моей базы данных. Я хочу, чтобы диакритические символы и случай персонажа игнорировались при поиске, так что запрос «foo» соответствовал бы «Foo» и «foo», а запрос для «fóó» соответствовал бы «fóo» и «fOO».игнорировать диакритические знаки при поиске
Основываясь на том, что я прочитал, кажется, что мне нужно изменить анализатор по умолчанию, который использует Компас при индексировании и поиске в моем контексте. Я выяснил, где я использую анализатор, но я не могу найти реализацию анализатора, которая соответствует моим требованиям. Существует ли уже анализатор, который игнорирует диакритические знаки и характер, или мне нужно написать свои собственные?
Я не думаю, что org.apache.lucene.analysis.ASCIIFoldingFilter будет решать мою проблему напрямую, потому что это не Анализатор, но может быть полезной отправной точкой –
Нет, не напрямую, как это фильтр. Однако вы найдете краткий пример того, как включить его в анализатор здесь: http://stackoverflow.com/a/3834244/390153 – Recurse
Вам также понадобится LoweCaseFilter для соответствия «fOO» с «foo». – jspboix