我一直在使用LIKE查询在知识库站点中搜索搜索字符串。因此,从逻辑上讲,术语"phone“可能会显示所有包含单词"phone”的页面。
但是当进入不太典型的搜索时,比如"phone call","phone-call",“phone-call”,我就开始进入like查询也停止工作的领域。
有人向我推荐了SOUNDEX,这样我不仅可以捕捉到精确的匹配,还可以捕捉到类似的匹配。
这是对SOUNDEX的正确使用吗?有没有更合适的东西?
发布于 2012-05-11 23:45:28
如果它是一个只包含单词phonecall或similar的列,那么是的,这是SOUNDEX的一个很好的用法,因为您正在寻找发音相同但拼写不同的字符串。如果你正在寻找一个巨大的文本主体,那么它就不太合适了,因为在生成SOUNDEX之前,你必须将文本拆分成单词,所以对于像"phone call“这样的两个单词的版本,这将失败。
对于改进的算法,我建议您研究一下Double Metaphone。
https://stackoverflow.com/questions/10554590
复制相似问题