1

我想根据行的标题列选择相似的行。标题列大多有 5 或 6 个六个关键字。你推荐哪种算法?Soundex 也许?

PS:标题列具有 unicode 字符,例如Ç,Ö,Ş...

4

3 回答 3

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
于 2010-07-09T00:35:01.230 回答
0

如果您的意思是拼写和发音相似,我会考虑使用该SOUNDEX功能。

于 2010-07-03T01:20:20.320 回答
0

老实说,我会为 创建一个表keywords(id, external_id, keyword),然后将表与自身连接起来,按匹配的数量排序,然后将行取回。

如果您要匹配单行,则可以只选择那一行,以提高连接效率。

这可以与 SOUNDEX 结合使用,以匹配接近的事物

于 2010-07-03T01:21:59.330 回答