我用Whoosh来实现一个小小的本地搜索引擎。文件中既有法文也有英文。
如你所知,口音(à è é .)在法语中经常使用。所以我不得不用Whoosh文档建议的重音折叠来对付他们
accent_analyzer = RegexAnalyzer(r'\w+') | LowercaseFilter() \
| StopFilter() | CharsetFilter(accent_map)
schema = Schema(path=ID(stored=True), content=TEXT(analyzer=accent_analyzer))索引文档工作正常(没有错误)。
但是当涉及到搜索时,我没有得到包含重音的单词的结果。
例如:
让文档D与content = u'unité logique':
logique进行搜索会击中文档。unité进行搜索并不是这样。unite进行搜索并不是这样。因此,我认为索引作者忽略了带有重音的单词,这就是为什么它没有显示针对这些单词的查询结果,不管这些查询是否带有重音。
提醒您,我想要实现的是使用单词unité和unite访问文档unite。
发布于 2017-03-13 17:15:05
要求所有字符串都在unicode中。
有关unicode中的重音,请参见http://unicodelookup.com/
https://stackoverflow.com/questions/42769299
复制相似问题