作者热门文章
- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
我正在使用 Laravel 和 MySQL 开发一个“社交网络系统”,如果用户写了一篇文章,我想看看数据库中是否有相似的文本,并在比较数据库中其他文章的文章后显示相似度分数(以百分比表示)。
similar_text
函数吗,因为它的成本很高是时候从数据库中检索所有记录了吗? 最佳答案
SELECT text FROM posts WHERE userid = $id AND text LIKE '%$search%'
就我个人而言,我使用准备好的语句,但这是您必须完成的总体布局。也就是说,我个人认为您应该逐句删除所有帖子,然后删除每个句子中的任何简单词,如“the”、“a”等……本质上,帖子中每个句子的关键字。然后,您可能会更快地找到与他们当前输入的内容相匹配的句子,并对您的数据进行适当的分类。
您还可以利用关系数据库的优势来快速查找和检索数据。您永远不会真的想使用 LIKE 搜索来搜索社交网络之类的东西。相信我,当你遇到一百万行数据时,如果你依赖 LIKE,你会非常生气。我答应你。我犯了错误的数据存储和管理错误,但直到它非常明显时才意识到。基本上我必须通过艰难的方式学习。
我还认为你应该在开始时编译他们的语言倾向,并将其存储在本地。用JS来操作文本框,把语言逻辑的重担放在他们身上。这通常会减轻您的数据库和服务器的负担。有了一个好的 JSON 映射的帖子关键字和存储在客户端的句子结构,你可以想出一些非常好的轻量级预测文本。为此还有 HTML5 选项(可能需要一些额外的东西我忘记了)。您可以轻松地使用 JSON 映射加载所有这些预测选项。无论如何,我认为这是要走的路。
关于php - 如何在 MySQL 中进行文本挖掘以查找相似文本中的出处,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49788973/
我是一名优秀的程序员,十分优秀!