Python 嗖的一声,没有用重音搜索单词

Python 嗖的一声,没有用重音搜索单词,python,full-text-search,whoosh,Python,Full Text Search,Whoosh,我用Whoosh实现了一个小型的本地搜索引擎。文件包含法语和英语两种语言 您可能知道,法语中经常使用重音(aèè…)。因此,我必须按照以下建议使用重音折叠来处理它们: 索引文档工作得很好(没有错误) 但在搜索时,我没有得到含有重音的单词的结果 例如 让文档D带有content=u'unitélogique': 使用logique搜索会命中文档 使用unité进行搜索不起作用 使用unite进行搜索时不会出现这种情况 因此,我假设索引编写器忽略带重音的单词,这就是为什么无论查询是否包含重音,它

我用Whoosh实现了一个小型的本地搜索引擎。文件包含法语和英语两种语言

您可能知道,法语中经常使用重音(
a
è
è
…)。因此,我必须按照以下建议使用重音折叠来处理它们:

索引文档工作得很好(没有错误)

但在搜索时,我没有得到含有重音的单词的结果

例如

让文档
D
带有
content=u'unitélogique'

  • 使用
    logique
    搜索会命中文档
  • 使用
    unité进行搜索
    不起作用
  • 使用
    unite
    进行搜索时不会出现这种情况
因此,我假设索引编写器忽略带重音的单词,这就是为什么无论查询是否包含重音,它都不会显示针对这些单词的查询结果


提醒一下,我想要实现的是同时使用
unité
unite
两个词来点击文档
D

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

有关unicode中的重音,请参见


()

是的,问题是我使用了
'unicode\u escape'
作为内容编码。
accent_analyzer = RegexAnalyzer(r'\w+') | LowercaseFilter() \
                  | StopFilter() | CharsetFilter(accent_map)

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