【发布时间】:2016-01-24 11:37:15
【问题描述】:
我正在尝试使用 python 将用户搜索查询与搜索引擎中的数据库记录进行匹配,但是当搜索查询包含特殊字符(例如带重音的元音)时,我遇到了麻烦。
例如:搜索查询 = 'cafe'。数据库记录 = 'café'
我使用词干查询数据库记录。
将包含特殊字符“cafe”的查询与不包含此特殊字符“cafe”的字符串匹配,反之亦然?
更新
我需要的所有信息都已缓存,因此在数据库中创建新列的方法并不那么吸引人。我正在寻找更基于 python 的解决方案。
【问题讨论】:
-
你使用的是什么正则表达式模式?
-
还没有正则表达式模式@Alok,只是想我可以使用它但可能匹配太多记录。
-
您的实际问题或问题是什么?
-
如果您只搜索完全匹配的单词,并且您的数据库记录只包含单个单词,您可以在数据库中设置第二列,设置为单词的“去重音”版本。然后你可以针对它运行你的数据库查询。它会使你的数据库大小翻倍。
-
@DiegoAgher @TomDalton:我就是这么想的。但是如果有第二列
tags有de-accented或accented字词会不会更好,以便在两种情况下都可以匹配。
标签: python regex special-characters information-retrieval