在同一个表中按一列的多个子字符串搜索匹配结果



我有一个Postgresql品牌表。我想在这个品牌表中搜索,以便找到拼写错误的重复品牌。例如。。。我有一排可口可乐和可口可乐品牌。它们都与多个产品有关系,但需要合并为一个品牌。

我的想法是创建一个SELECT语句,以便基于单个手动输入搜索所有匹配的品牌:字符数
所以。。例如,我使用数字4(4个字符(。

第一:我删除品牌中的空白CocaCola
第二:我将其小写CocaCola
<strong第三:>口可乐。

我怎样才能取得这样的成就?或者,也许还有另一种解决方案可以找到匹配的值?

提前感谢的帮助

您所要求的被称为n-grams,特别是4-grams,因为您需要四个字符。

不管是好是坏,Postgres几乎完全可以通过pg_trgm实现您想要的功能。唯一的问题是它提供tri-gram支持,而不是4-gram支持。

在实践中,三角图已被证明对文本搜索和相似性匹配非常有用。我建议您研究一下这个模块的功能,因为它可能正是您想要的。

最新更新