【问题标题】:django haystack / whoosh: find records with umlauts / diaeresis, with a plain ascii querydjango haystack / whoosh:查找带有元音变音/分音符号的记录,使用普通 ascii 查询
【发布时间】:2016-06-04 13:34:04
【问题描述】:

我的草垛中有变音符号/分音符号和其他特殊字符(ä、ö、ü、é、è、ç 等)。它们似乎被很好地编入索引,并且如果被搜索就会被找到,就像它们在索引中一样。

示例:搜索“Häberli”会返回包含它的所有记录。

我想要什么:搜索“Haberli”也应该返回所有这些记录。我目前正在使用SearchQuerySet.auto_query()。我在文档中没有找到任何提示。

奖励:搜索“Haeberli”也应该返回这些。

我正在使用 django 1.8.5、haystack 2.4.1 和 whoosh 2.7.0

【问题讨论】:

    标签: python django django-haystack


    【解决方案1】:

    您想将ascii folding token filter 与弹性搜索一起使用:关注this 链接。

    编辑:再次阅读您的问题...与 Whoosh 您想使用 whoosh.analysis.CharsetFilter 进行字符折叠。

    这是完整解决方案的要点:link

    【讨论】:

    • 如此简单。它看起来。会检查并通知您!
    • 否则,当您知道要搜索什么时,只要知道术语 ascii 折叠就应该为您指明正确的方向!
    • 适用于aä,但不适用于aeä(这在德语中很常见)。会调整accent_map(请参阅您的要点)帮助,还是我需要其他解决方案?
    • 它应该适用于实际的 æ 字符,如果你想结合 ae 我确定有一些过滤器也可以这样做。
    猜你喜欢
    • 2022-12-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-12-15
    • 1970-01-01
    • 1970-01-01
    • 2011-01-15
    • 2016-12-02
    相关资源
    最近更新 更多