我是Lucene的新手,没有足够的时间浏览整个文档。 我们正在使用Lucene荧光笔来突出显示匹配。据我所知,Lucene本身就是使用JFlex引擎。 当前任务需要引入新的语言支持。根据要求,像ειναι这样的词应该匹配είναι,反之亦然。人们在键入消息时通常会避免使用重音,因此带重音的单词必须与没有重音的同一个单词匹配。 所以,我的问题是我们是否可以在Lucene中指定某个地方或JFlex字符转换规则,如U + 038A-> U + 03B9 ?? 任何帮助将不胜感激。
答案 0 :(得分:0)
不确定角色转换......但你可以做几件事:
应用ISOLatin1AccentFilter(在您的分析器中),以便重音词在非重音搜索中被视为匹配。 http://www.dotlucene.net/documentation/api/Lucene.Net.Analysis.ISOLatin1AccentFilter.html
使用Lucene模糊搜索 http://lucene.apache.org/core/old_versioned_docs/versions/2_9_1/queryparsersyntax.html#Fuzzy搜索
根据我的使用情况,这不是一个简单的配置设置。索尔可能有类似的东西。 Lucene是一个裸库,通常可以让您灵活地确定“业务逻辑”的位置......在搜索,分析器/过滤器或索引设计本身。