请问做新闻站时“相关文章”是怎样匹配的 我想用所有文章的关键字 进行匹配? 不知道具体该如何进行匹配 我试过用mysql全文索引 match...against但效果不是很好 也不知道是不是方法错了 谁有比较好的匹配语句啊 发上来分享一下 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 关键字检索么?可以设置养分字,把每篇文章的关键字存到MYSQL里,然后用SQL语句进行检索匹配文章! 最简单的就是关键字和文章的关联例如下面的设计关键字表TagIDTagName新闻表ArticleID Primary Auto IncreaseTitleContentPublishTime Index.......关联表TagID PrimaryArticleID Primary在程序关联的时候记得每次修改要DELETE所有的ArticleID = ?的然后用INSERT INTO `关联表` VALUES ( '1' , '1' ) , ( '2' , '1' ) , ( '3' , '1' )这种插入方式,这种插入可以减少跟数据连接的次数然后搜索的时候先搜索当前ArticleID的TagID然后要搜索关联的就只要把那些TagID关联到的文章搜索出来就行,例如SELECT `ArticleID` FROM `关联表` WHERE `ArticleID` = '1'当然如果你想做一个最新的关联排序的话你可以尝试用视图CREATE VIEW `关联视图`ASSELECT `新闻表`.`ArticleID` , `关联表`.`TagID` , `新闻表`.`Title` , `新闻表`.`PublishTime`FROM `关联表` LEFT JOIN `文章表`ON `关联表`.`ArticleID` = `文章表`.`ArticleID`然后搜索的时候就可以SELECT DISTINCT `ArticleID` , `Title`FROM `关联视图` WHERE `TagID` IN ( 1 , 2 , 3 ) 又或者是SELECT DISTINCT `ArticleID` , `Title` FROM `关联视图` WHERE `TagID` IN ( 1 , 2 , 3 )ORDER BY `PublishTime` DESCLIMIT 3 如何识别为手机端访问? php如何判断一个字所占的字节数。 关于脚本php,与javascript的优劣? 装上zend studio,系统进程多了好多。。进来看看图... PHP登陆页面的疑问 请问window2000 + php + mysql 怎么安装memcached Php Session Class php在函数前的@符号代表什么意思? curl 模拟获取qq好友列表 php-fpm accepted conn 含义 清單的值怎樣使用cookies存起來 清單的值怎傳去文字欄位
可以设置养分字,把每篇文章的关键字存到MYSQL里,然后用SQL语句进行检索匹配文章!
例如下面的设计关键字表
TagID
TagName新闻表
ArticleID Primary Auto Increase
Title
Content
PublishTime Index
.......关联表
TagID Primary
ArticleID Primary在程序关联的时候记得每次修改要DELETE所有的ArticleID = ?的
然后用INSERT INTO `关联表` VALUES ( '1' , '1' ) , ( '2' , '1' ) , ( '3' , '1' )
这种插入方式,这种插入可以减少跟数据连接的次数然后搜索的时候先搜索当前ArticleID的TagID
然后要搜索关联的就只要把那些TagID关联到的文章搜索出来就行,例如
SELECT `ArticleID` FROM `关联表` WHERE `ArticleID` = '1'当然如果你想做一个最新的关联排序的话
你可以尝试用视图CREATE VIEW `关联视图`
AS
SELECT `新闻表`.`ArticleID` , `关联表`.`TagID` , `新闻表`.`Title` , `新闻表`.`PublishTime`
FROM `关联表` LEFT JOIN `文章表`
ON `关联表`.`ArticleID` = `文章表`.`ArticleID`然后搜索的时候就可以
SELECT DISTINCT `ArticleID` , `Title`
FROM `关联视图`
WHERE `TagID` IN ( 1 , 2 , 3 )
SELECT DISTINCT `ArticleID` , `Title`
FROM `关联视图`
WHERE `TagID` IN ( 1 , 2 , 3 )
ORDER BY `PublishTime` DESC
LIMIT 3