求新闻系统之相关新闻解决思路

avichen 富基融通 项目经理  2004-11-02 03:16:47
一般的新闻系统都是在添加新闻的时候同时设置关键字,然后按此关键字搜索其它的新闻为此新闻的相关新闻.
现在我要做的是.添加新闻的时候不添加关键字.关键字由系统设置:


关键字:电脑,音乐,汽车,合同,律师,房产,江苏,北京


以下的标题从数据库取出:

新闻标题一:知名音乐人***从北京来江苏购置房产,相关合同由***律师负责.
新闻标题二:江苏房产购置,相关合同全部由***律师事务所负责.
新闻标题三:江苏房产价格大涨
新闻标题四:全国房产价格大涨
新闻标题五:北京律师从业人数激增
新闻标题六:汽车出口减税
新闻标题七:品牌电脑价格大战
新闻标题八:音乐会将于近期免费开放

要求:当查看新闻的时候,按关键字查找其它的5条新闻做为相关新闻;
排序方式为:1.相关新闻中的关键字和正在查看的新闻标题中的关键字相同得越多,排序越前;
2.相应的关键字越前,排序越前,如:有两条相关新闻A,B, A中有关键字北京,B中有电脑,则 B 排前



//--------------------------------------------------------------

例子:
正在查看:知名音乐人***从北京来江苏购置房产,相关合同由***律师负责.

相关新闻:
1.江苏房产购置,相关合同全部由***律师事务所负责.
2.北京律师从业人数激增
3.江苏房产价格大涨
4.品牌电脑价格大战 //这时应该将有"电脑"关键字的排在只有"汽车"关键字的上面
5.汽车出口减税 //因为"汽车"在关键字中比电脑靠后,所以排后

上面的相关新闻.
1 有四个关键字相同,所以排最前;
2.3 有两个关键字相同,但"律师"关键字比较前,所以2应该是"北京律师从业人数激增"
4.5 都只有一个关键字,所以按其关键字所在的前后来排序
...全文
111 点赞 收藏 8
写回复
8 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
avichen 2004-11-11
真的没有人帮忙了吗?
回复
zhz586 2004-11-05
厉害,让我想到数据仓库等等,本人水平不高,关注!
回复
s_phoenix 2004-11-05
学习!
回复
huanganbang 2004-11-05
高难度,关注中。。。
回复
avichen 2004-11-04
还有人有办法吗?快到底了!
回复
heroflying 2004-11-03
有个有点麻烦的方法
就是用二维数组
如a[x][y]
搜索时搜索到的第一条新闻的关键字个数n用a[1][0]表示,有8个关键字,则如果第一条新闻中有电脑则a[1][1]=8,如果此条中最高的是音乐则a[1][1]=7,依次类推;
搜索时搜索到的第二条新闻的关键字个数n用a[2][0]表示,有8个关键字,则如果第一条新闻中有电脑则a[2][1]=8,如果此条中最高的是音乐则a[2][1]=7,依次类推;
搜索完比较时现比较第一下标,看哪条新闻关键字多,相同时比较第二下标,看谁的关键字优先级高
二次循环应该就可以了
回复
avichen 2004-11-02
没人吗?
回复
cnidb 2004-11-02
关注
回复
发动态
发帖子
Web 开发
创建于2007-09-28

7.9w+

社区成员

Java Web 开发
申请成为版主
社区公告
暂无公告