我需要MySQL代码来检查通过表单提交的文本与存储在MySQL数据库中的大量文本之间的相似性百分比。
我正在寻找与PHP的similar_text()
函数类似的MySQL存储过程。已经有MySQL Levenshtein距离程序,但这还不够。
当用户提交文本时,算法应该返回数据库中的任何条目,其具有与提交的文本的给定百分比的相似性(它将仅比较数据库中的一列),例如,返回具有相似性的数据库中的所有条目> 40%用户提交的文字。
E.g表
TABLE - Articles
id, article_body, article_title
代码应该返回具有相似性百分比的所有行>使用用户提交的文本(article_body)的40%(或其他给定值)。
答案 0 :(得分:1)
我会在申请表中这样做。
也许SOUNDEX功能的结果会对你有帮助 -
SELECT SOUNDEX('Hello'), SOUNDEX('Hello world'), SOUNDEX('hellboy');
+------------------+------------------------+--------------------+
| SOUNDEX('Hello') | SOUNDEX('Hello world') | SOUNDEX('hellboy') |
+------------------+------------------------+--------------------+
| H400 | H4643 | H410 |
+------------------+------------------------+--------------------+
答案 1 :(得分:0)