python - django haystack/whoosh : find records with umlauts/diaeresis, 带有简单的 ascii 查询

标签 python django django-haystack

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

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

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

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

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

最佳答案

您想要将 ascii 折叠标记过滤器 与 Elasticsearch 结合使用:关注 this链接。

编辑:再次阅读你的问题...对于 Whoosh,你想使用 whoosh.analysis.CharsetFilter 来进行字符折叠。

以下是完整解决方案的要点:link .

关于python - django haystack/whoosh : find records with umlauts/diaeresis, 带有简单的 ascii 查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35565262/

相关文章:

python - 尝试获取字段值时出现属性错误

django - 在 settings.py 中指定 Django 测试数据库名称

python - django-haystack elasticsearch多个索引错误结果

django-haystack - Django Haystack 返回相关实例

python - redis 使用 hget 命令存储 json 数据。同时获取强制获取所有 json 数据代替单个 json 变量

python - Python 的 super() 如何处理多重继承?

Python:如何确定无序元组列表是否在 dictionaries.values() 中?

python - 解压列表索引?

python - 使用非模型表单的隐藏表单字段

django - 干草堆中的索引分析器与查询分析器-Elasticsearch?