Java Lucene分析器处理yo和ye(俄语字符)

Java Lucene分析器处理yo和ye(俄语字符),java,lucene,query-parser,Java,Lucene,Query Parser,我正在使用Lucene和StandardAnalyzer在我的代码中创建索引,但是,“Yo”和“Ye”(Ё和Ё)有一个问题 我希望搜索结果带有“yo”和“ye”,反之亦然。我试图创建一个新的Analyzer类,类似于StandartAnalyzer,带有自定义过滤器,但我运气不佳。我也知道俄罗斯analyzer,但它似乎对我不起作用,因为它分别对待“yo”和“ye” 这是我使用此分析器的块: QueryParser queryParser = new QueryParser("myText",

我正在使用Lucene和
StandardAnalyzer
在我的代码中创建索引,但是,“Yo”和“Ye”(Ё和Ё)有一个问题

我希望搜索结果带有“yo”和“ye”,反之亦然。我试图创建一个新的Analyzer类,类似于
StandartAnalyzer
,带有自定义过滤器,但我运气不佳。我也知道俄罗斯analyzer,但它似乎对我不起作用,因为它分别对待“yo”和“ye”

这是我使用此分析器的块:

QueryParser queryParser = new QueryParser("myText", new MyAnalyzer());
queryParser.setDefaultOperator(QueryParser.Operator.AND);
在此之后,我执行
queryParser.parse()
和其他用于搜索的查询构建工作

问题是:做这个手术的正确方法是什么?我应该使用我的自定义令牌过滤器吗?或者,也许,我自己的CharFilter

维基百科链接到问题人物:

乍一看,我认为您需要创建一个将“yo”映射到“ye”的字符过滤器,因为偶尔会发生这种情况,这是由于人为错误(请参见上面的“yo”页面),因此您更有可能通过“yo”->“ye”映射找到所需的内容。请记住,此映射需要在搜索期间以及索引期间进行。

谢谢,这很有帮助!