(MS SQL)如何实现相关文章功能(多关键字匹配)
场景:在开发某系统的过程中,我遇到了要实现“相关文章”功能:任何文章都可以定义“关键字”,每篇文章依靠这个“关键字”来确定其它文章是否跟它相关,如果没有定义关键字,则可能需要使用全文检索来实现了,这是别的话题了。
思考:因为允许关键字可以通过“,”分隔符号来定义多个,所以加大了难度。经过思考,可以通过在保存文章的时候便分解关键字,建立一关键字表,把所有关键字逐个按对应的文章ID来保存。并决定采用纯SQL存储过程的办法,因为这种重复的操作,与其用通用函数,倒不如用预编译的存储过程更加快,这样能把所有处理都留給SQL Server。
解决方案:首选要做的是在原有文章表(Details)的基础上建立相关文章表(RelatedDetails),字段包括ItemID(主键)、DetailID(文章ID)和Keyword(关键字)。以下是主要存储过程:
1、UpdateRelatedDetails:更新相关文章关键字
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/None.gif)
2、DeleteRelatedDetails:删除原有相关文章关键字
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/None.gif)
3、GetRelatedDetails:获取相关文章,其中Details就是文章表
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/None.gif)
代码很简单,但希望能給大家带来一点思考:)
p.s.因为前台是使用.NET写的,那这个帖子也算是部分.NET技术了,呵呵。
转载于:https://www.cnblogs.com/unruledboy/archive/2004/10/21/55190.html
(MS SQL)如何实现相关文章功能(多关键字匹配)相关推荐
- php 中 相关文章 的思路,WordPress实现推荐相关文章功能代码
WordPress实现推荐相关文章功能有2种方法:一种是可以在单篇日志和 feed 中都生成推荐相关文章功能,不过,功能越强大,代码也就会相应较多,所以这里还提供第二种,仅在单篇日志中实现在相关日志的 ...
- SQL Server 性能相关文章 BY GEERT VANHOVE
聚集索引:Clustered Indexes in SQL Server: Things You Need to Know - 08 Dec 2005 数据库压力测试:How to Set Up a ...
- Oracle8i与MS SQL SERVER2000之比较
编者按:这篇文章是我三年前的写的文章 下面是我个人的一点体会,由于水平有限,估计有理解的有一些问题,欢迎指正对于Oracle 8i初学者,很有可能会经常把MS SQL Server中的概念拿来与Ora ...
- Oracle 9i与MS SQL Server 2000之比较连载五.zz
http://kb.cnblogs.com/a/1153156 Oracle 9i与MS SQL Server 2000之比较连载五 2008-04-14 18:13 四.Oracle中新的数据库对象 ...
- SysInfoTools MS SQL Transaction Log Recovery 22.0
SysInfo DBF 修复工具专门用于修复由 dBase II IV.V Visual FoxPro.Clipper.dBXL.dBFast.CodeBase.MultiBase.Arago 生成的 ...
- MS SQL Server数据库修复利器—D-Recovery For MS SQL Server数据恢复软件
微软的SQL Server 数据库最常用的有两种类型的文件: 1.主要数据文件,文件后缀一般是.MDF: 2.事务日志文件,文件后缀一般是.LDF. 用户数据表.视图.存储过程等等数据,都是存放在MD ...
- Blog外挂之:妙用del.icio.us实现“站内相关文章”
Blog外挂之:妙用del.icio.us实现"站内相关文章" By 刘未鹏(pongba) C++的罗浮宫(http://blog.csdn.net/pongba) 先说明一下, ...
- 织梦自定义html文本,织梦自定义标签dede:sql根据自定义字段填的文章id获取相关文章...
这篇文章主要为大家详细介绍了织梦自定义标签dede:sql根据自定义字段填的文章id获取相关文章,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,有需要的朋友可以收藏方便以后借鉴. 有的时候我们需要 ...
- 微信灰度测试“相关阅读”功能 公众号文章下推荐延伸内容
近日,有部分微信用户反映,在公众号文章的底部看到了"相关阅读"模块,该模块会推荐与正在阅读的文章相关的其他内容.腾讯方面向媒体确认,正在灰度测试"相关阅读"功能 ...
最新文章
- 【廖雪峰python入门笔记】dict
- 【转】C# using的三种使用方法
- [剑指offer][JAVA]面试题第[33]题[二叉搜索树的后序遍历][单调栈][递归分治]
- mysql8.0.22安装步骤图解_MySQL server 5.5的安装 步骤图解
- linux系统用户登陆时脚本执行顺序
- inurl news.php id,news.php
- webrtc 判断是否支持_5G时代-WebRTC音视频高级开发
- 【物联网智能网关-08】TinyGUI和WPF汉字显示技术比较
- vSphere Replication:虚拟机的保护伞
- mysql 数据增量备份_mysqlmysqldump数据备份和增量备份
- Hedgehog 信号通路与癌症
- 解决Maven报错:Could not transfer artifact xxx
- 在线教育需要准备好哪些直播设备?
- 基于SSM实现医院预约挂号系统
- 公司股权分配的七大简明实操建议
- C++打开网页,发起QQ对话,调用外部exe程序
- 苹果CMS海螺模板V16魔改版2.0修复bug分享给大家
- C/c++中内存拷贝函数memcpy详解
- minMaxLoc opencv
- 声声入耳:音频新体验