当前位置: 首页 > 面试题库 >

使用PHP和MySQL创建相关或相似的帖子

钦德佑
2023-03-14
问题内容

我一直在寻找SO,并且想知道如何使用PHP和MySQL创建相关或相似的帖子以显示在我的网站上?如何执行此操作的基本示例是什么?


问题答案:

使用MySQL全文搜索的MATCH (col1,col2,...) AGAINST (expr [search_modifier])东西。

假设您的表格是articles,您需要查找有关当前职位标题的相关职位。像这样做:

SELECT *, MATCH(title, body) AGAINST('$CurrentPostTitle') AS score
FROM articles 
WHERE MATCH(title, body) AGAINST('$CurrentPostTitle') 
ORDER BY score DESC LIMIT 5

这将为您提供前5条相关的帖子。

但是首先请记住通过运行以下查询为该表的列启用全文搜索:

ALTER TABLE articles ADD FULLTEXT (title, body);

[编辑]:为什么不使用 LIKE对OP的说明:

因为它不会给出正确的结果。假设您当前的标题是“ 1980年的音乐”,并且您想要与此相关的文章。现在,如果您使用的是,LIKE则仅会显示包含“ Music
of 1980”一词的序列的帖子。但是,如果使用MATCH ... AGAINST,则将出现包含Music OR
1980的帖子。另外,同时包含Music和1980的帖子将出现在Top上,因为它给SCORE每个结果都给出一个`` a’‘
,我们正在按该分数排序。我希望这很清楚。


[编辑]:2

如果您有类别,则可以添加AND Category = '$CurrentCategory'SQL查询where clause以获得更具体的结果。

[编辑]:3:OP无法使用全文

如果由于某种原因不能使用全文,则可以只显示5个来自同一类别的随机信息。由于它们属于同一类别,因此它们至少在某种程度上相关:

SELECT *
FROM articles 
WHERE Category = '$CurrentCategory'
LIMIT 5

编辑语法:在MySQL代码中将LIMTI更改为LIMIT



 类似资料:
  • 问题内容: 我知道如何进行常规的php mysql搜索并显示结果。但是,由于我要完成的工作的性质,我需要能够按相关性进行排序。让我更好地解释一下: 普通查询“ apple iphone应用程序”将使用%apple iphone application%搜索数据库,但是如果没有记录以该确切顺序显示该短语,则搜索将不会产生任何结果。 我基本上需要做的是分别搜索“ apple”,“ iphone”和“

  • 问题内容: 我需要在基于Java的应用程序中使用Wordnet。我想要: 搜索同义词集 找到同义词集之间的相似性/相关性 我的应用程序使用RDF图,我知道Wordnet中有SPARQL端点,但是我想最好有一个数据集的本地副本,因为它不是太大。 我发现以下罐子: 通用库 -JAWS http://lyle.smu.edu/~tspell/jaws/index.html 通用库 -JWNL http:

  • 问题内容: 我不知道如何很好地解释这一点,所以请多多包涵。 我试图对彼此相邻的相似行进行分组,如果相同,则基本上忽略第n + 1行。我不确定这在MySQL中是否容易实现。这些行除描述外不共享其他任何属性。如果还有其他不重复的“描述”,我仍然希望将它们返回。 我有一张桌子,上面满是这样的条目: 问题答案: 您可以使用巧妙的技巧来做到这一点。诀窍是计算与特定id 不同 的描述的数量。对于序列中的值,此

  • 问题内容: 我正在尝试获取与我下载的每个帖子相关的最新1或2条评论,有点像instagram一样,因为它们显示每个帖子的最新3条评论,到目前为止,我正在获得帖子和喜欢的计数。 现在,我需要做的就是弄清楚如何获取最新评论,而不是太确定如何处理它,这就是为什么我希望拥有更多专业知识的人可以为我提供帮助! 这是我当前的查询: 基本上,评论与点赞存储在同一表中。 所以表是,然后我有一列存储注释文本,然后“

  • 我刚刚安装了Wordpress插件:手册相关的职位(https://wordpress.org/plugins/baw-manual-related-posts/) 安装后,我试图手动广告相关职位的网页。< br >但是我只能选择帖子或页面....关于插件,它应该也可以使用媒体功能,但它不会出现。 我降级到Wordpress 3.9.2,这是这个插件需要的版本(不支持更新的Wordpress版本)

  • 问题内容: 在哪里可以找到比levenshtein()和php same_text()方法更准确地估计错位字符的拼写的算法? 例: /乔纳斯 问题答案: 这是我提出的解决方案。它基于蒂姆的建议,即比较后续角色的顺序。一些结果: jonas / jonax : 0.8 jonas / sjona : 0.68 jonas / sjonas : 0.66 jonas / asjon : 0.52 jo