我希望选择与行标题columun相似的行。标题columun主要有5或6个关键字。你推荐哪种算法? Soundex也许?
P.S:标题columun有像Ç,Ö,Ş这样的unicode字符......
答案 0 :(得分:2)
我的问题的答案是mysql全文搜索。它也支持unicode。
SELECT *, match(project_title) against('sample project 55') as similarity
FROM projects
WHERE status IN(1, 2, 3, 4, 5, 6) AND id != ? AND match('sample project 55') against(?)
ORDER BY similarity DESC
答案 1 :(得分:0)
如果您的拼写和发音相似,我会考虑使用SOUNDEX
功能。
答案 2 :(得分:0)
老实说,我会为keywords(id, external_id, keyword)
创建一个表,然后我会将表连接到自己,按顺序排列多少匹配,然后将行抓回来。
如果您要匹配单行,则只能选择那一行,以便更好地提高效率。
这可以与SOUNDEX结合使用以匹配紧密的事物