微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

python – 在数据库中的近似搜索

我有一个大型数据库,里面有一系列机构(大学,医院等).机构的名称来自不同的来源,并且对于同一机构可以拼写不同.例如,它们可能拼写错误,或者可以缩短单词(“uni”,“univ”或“university”)

给定一个我需要插入数据库名称,有没有一种实用的方法来查找该机构是否已经在数据库中?这不是一个研究项目,所以我正在寻找一个相当快的解决方案.

我正在使用django和postgresql,但我认为并不重要.

解决方法:

这是record linkage的问题.许多数据库为此提供了基本方法,例如字符级n-gram匹配,其中像“university”这样的术语被扩展为

[“uni”,“niv”,“ive”,“ver”,“ers”,…]

对于n = 3.数据库将索引所有这样的n-gram并允许使用某种加权匹配进行搜索. pg_trgm似乎正是这样做,尝试一下.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐