我想用所有文章的关键字 进行匹配? 不知道具体该如何进行匹配 我试过用mysql全文索引 match...against但效果不是很好 也不知道是不是方法错了 谁有比较好的匹配语句啊 发上来分享一下
解决方案 »
- 手机端网站开发 google地图
- 谁有soap.so文件,发一个给我.谢谢
- 请问php中上传文件后,如何取得原文件的路径啊?
- [急]PHP如何获取上传文件临时目录?
- DZ 7.0 论坛中 这些都有什么含义????
- 有人研究PHPbb,DISCUZ等网站的代码,怎么没人研究PHPMYADMIN代码么?
- 还是session问题
- 刚装Apache+php+mysqpl 不知如何配置Apache,不知如何配置配置C:\Apache2\conf\httpd.conf这个文件。(在线等)
- PHP中,如何取得一个类的实例的函数的引用,并且运行它
- 如何在windows xp上编写和运行php,需要装什么东西。请大家指教。
- 清單的值怎樣使用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