IDE允许文本搜索,如:
搜索文字:subnepas
匹配的项目: sub mit_ ne w_ pas 剑
我认为它方便网络应用的用户,例如20ba
匹配202 Baker Street
。
如何查询SQLAlchemy字符串列以有效地执行此类子串匹配?我偏向于Postgres,但我不想使用ngrams或其他全文索引。
答案 0 :(得分:1)
我猜你正在寻找类似levenshtein算法的东西。
PostgreSQL已经有了levenshtein / fuzzystrmatch,您可以使用: http://www.postgresql.org/docs/current/static/fuzzystrmatch.html
以下是一个如何在SQLAlchemy中使用它的示例: http://nullege.com/codes/show/src@n@o@nomenklatura-HEAD@nomenklatura@model@matching.py/47/sqlalchemy.func.levenshtein
我个人直到现在才使用此功能。我总是在用户端进行levenshtein比较,但是我有最多100个字符串要进行比较,我不得不加载它们,但是在更大的范围内,让DB更好地做这个。