嗖不要搜索带口音的单词

Whoosh not searching words with accent

我正在使用 Whoosh 来实现一个小型本地搜索引擎。文档包含法语和英语。

您可能知道,重音符 (à è é ...) 在法语中经常使用。所以我不得不按照 Whoosh Documentation:

的建议使用重音折叠来处理它们
accent_analyzer = RegexAnalyzer(r'\w+') | LowercaseFilter() \
                  | StopFilter() | CharsetFilter(accent_map)

schema = Schema(path=ID(stored=True), content=TEXT(analyzer=accent_analyzer))

索引文档工作正常(没有错误)。

但是在搜索时,我找不到包含重音符号的词的结果。

例如

让文档 Dcontent = u'unité logique' :

所以我想索引编写器会忽略带重音的单词,这就是为什么无论查询是否包含重音,它都不会显示针对这些单词的查询结果。

提醒一下,我想要实现的是使用 unitéunite.

这两个词来访问文档 D

whoosh 要求所有字符串都采用 unicode

Does whoosh require all strings to be unicode?

有关 unicode 中的重音,请参阅 http://unicodelookup.com/

(https://ss64.com/unicode-accents.html)