【问题标题】:Character transformation rules in Lucene and\or JFlexLucene 和\或 JFlex 中的字符转换规则
【发布时间】:2012-11-26 15:57:20
【问题描述】:

我是 Lucene 新手,没有足够的时间浏览整个文档。 我们正在使用 Lucene 荧光笔来突出显示匹配项。据我所知,Lucene 本身正在使用 JFlex 引擎。 当前任务需要引入新的语言支持。根据要求,像 ειναι 这样的词应该匹配 είναι,反之亦然。人们在输入消息时通常会避免使用重音,因此带有重音的单词必须与没有重音的相同单词匹配。 所以,我的问题是我们是否可以在 Lucene 或 JFlex 字符转换规则中指定某处,如 U+038A->U+03B9 ? 任何帮助将不胜感激。

【问题讨论】:

    标签: lucene jflex


    【解决方案1】:

    不确定字符转换...但您可以做几件事:

    从我使用的情况来看,这不是一个简单的配置设置。 Solr 可能有类似的东西。 Lucene 是一个裸库,通常可以让您灵活地确定“业务逻辑所在”的位置……在搜索、分析器/过滤器或索引设计本身中。

    【讨论】:

    • 感谢您的回复,但这并不是我一直在寻找的。似乎更好的解决方案是在 jflex 文件中指定新的标记类型,并且一旦单词被分类——应用转换规则..
    • 您确定 ISOLatin1AccentFilter 对您没有帮助吗?如果您在索引和搜索时都使用它,您可以通过其重音和非重音变体找到重音单词,这就是您想要的。 (尽管您也可以通过搜索带重音的词找到不带重音的词 - 是这个问题吗?)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-02-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多