Database 如何最好地匹配两个字符串?
你知道有什么好的算法可以匹配两个字符串,然后返回两个字符串匹配的百分比吗 还有一些也可以用于数据库吗?这就是一个衡量标准。它基本上告诉您需要编辑、删除或添加多少字符才能从第一个字符串到第二个字符串。我不确定一些数据库系统是否支持这一点Database 如何最好地匹配两个字符串?,database,algorithm,string,matching,Database,Algorithm,String,Matching,你知道有什么好的算法可以匹配两个字符串,然后返回两个字符串匹配的百分比吗 还有一些也可以用于数据库吗?这就是一个衡量标准。它基本上告诉您需要编辑、删除或添加多少字符才能从第一个字符串到第二个字符串。我不确定一些数据库系统是否支持这一点 但我确信,在某些数据库系统中支持一种更为简化的算法,名为。我认为您正在寻找的问题叫做。一般来说,计算代价很高,但如果您要查找的字符串与其他字符串的编辑距离很小的字符串,则情况并没有那么糟。维基百科文章中有更多信息。这会有帮助吗?我刚碰到它 这取决于你的相似性标准。
但我确信,在某些数据库系统中支持一种更为简化的算法,名为。我认为您正在寻找的问题叫做。一般来说,计算代价很高,但如果您要查找的字符串与其他字符串的编辑距离很小的字符串,则情况并没有那么糟。维基百科文章中有更多信息。这会有帮助吗?我刚碰到它 这取决于你的相似性标准。其他人已经向您推荐了Levenstein距离(编辑距离也是一样)。这通常相当不错,而且肯定比soundex更独立于语言。然而,请注意,Levenstein差异并不能很好地处理转位。因此:
Levenstein("copy", "cpoy") == 2
如果你想处理人的输入,换位是相当常见的。这是否是一个问题取决于您的相似性度量
已经有一段时间了,但我相信Postgresql已经
levenstein()
内置或可用作contrib
C模块。如何最好地匹配两个字符串?让他们出去喝咖啡,如果他们合得来的话,吃饭和看电影。或者他们可以做一些对等编程?这取决于弦乐,真的。即使是咖啡也常常很棘手