python - 嗖不要搜索带口音的单词

标签 python full-text-search whoosh

我正在使用 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' :

  • 使用 logique 搜索文件。
  • 使用 unité 搜索不会。
  • 使用 unite 搜索不会。

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

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

最佳答案

whoosh 要求所有字符串都是 unicode

Does whoosh require all strings to be unicode?

对于 unicode 中的重音,请参阅 http://unicodelookup.com/

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

关于python - 嗖不要搜索带口音的单词,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42769299/

相关文章:

python - 以右对齐的精度打印 float

python - 使用 "current-directory"imports 导入模块

python - 如何将地理空间坐标 dataFrame 转换为原生 x,y 投影?

Mysql查询标签搜索具有相关性

php - 执行不区分重音的全文搜索 MySQL

python - Django haystack+呼呼错误

python - 在生产模式下从服务站点在 Django 中设置静态文件

search - 无需索引即可搜索文件内字符串的工具

使用 Whoosh 的 Django Haystack 随机错误

python - Django haystack 提供不正确的搜索 URLS