如何在Java/MySQL中实现Approximate_string_matching(模糊字符串搜索)?

Dee*_*epu 1 java mysql search

我正在使用REST框架在Java中开发webservice.

我使用MySQL 5.1数据库作为后端.

我正在我的一个表上执行搜索操作,说使用类似模式的Stops.

但是现在我想对上面的搜索执行"Approximate_string_matching(模糊字符串搜索)".考虑例如23 ST停止,用户可以提供搜索字符串第23站,第23站,第23站,第23 ST等.

对于这个Approximate_string_matching算法,我找到了链接http://en.wikipedia.org/wiki/Approximate_string_matching

但我不知道如何实现它.

请大家帮我在Java/MySQL中实现Approximate_string_matching算法

先感谢您.

npi*_*nti 5

您可能想要研究的一件事是Levenshtein距离算法:

Levenshtein距离是用于测量两个序列之间差异的字符串度量.

Apache Commons Lang实现了这一功能.您可以使用 getLevenshteinDistance(CharSequence s,CharSequence t,int threshold)来获取大致等于给定字符串的字符串.阈值会派上用场,这样您就可以丢弃与源词相距一定距离的单词,从而避免不必要的计算.

更好的方法是使用MySQL iteself提供的Levenshtein函数.这里可以看到一个如何执行的简单示例.