有一个文章库,预测将来的数据将达到15万条以上,文章由标题和正文两部分组成,其它信息包括文章发表时间,文章作者,用户根据自定义的指标给文章评的分数(比如用户可以根据“真实度”、“语句华美”等打分,这些指示都是用户在打分的时候自己填上去的)。大多数文章正文内容会超过3000字。网站要求提供给用户可以根据多个关键字搜索文章的功能,并可以根据发表时间、文章的分数等进行排序。现在我把文章全部放到一个表中。现在有几个问题1、如果简单地用类似于
select id, title, content from article where title like '%keyword%' or content like '%keyword'
进行查询,效果非常差,在我的机器上测试全部查找出来大约要10分钟2、我测试过一个叫 Lucene 的免费组件,用它可以在几百毫秒内找到要搜索的ID列表,然后用
select id, title, content from article where id In (2, 3, 5, 6, 8)
查找,但是如果找到ID数量太大,比如有2000条以上时,还是需要至少一两分钟的时间才能完成查找。
而如果把数据全部查找出来,却又无法根据评分进行排序。
select id, title, content from article where title like '%keyword%' or content like '%keyword'
进行查询,效果非常差,在我的机器上测试全部查找出来大约要10分钟2、我测试过一个叫 Lucene 的免费组件,用它可以在几百毫秒内找到要搜索的ID列表,然后用
select id, title, content from article where id In (2, 3, 5, 6, 8)
查找,但是如果找到ID数量太大,比如有2000条以上时,还是需要至少一两分钟的时间才能完成查找。
而如果把数据全部查找出来,却又无法根据评分进行排序。
解决方案 »
- 关于一个asp.net MVC反馈文件的问题
- cannot access private field 'key' here
- 这些字符串是何种编码啊?
- 为何我使用ASP.NET 2.0的时候建立用户时候提示密码有错啊,我尝试了许多也没办法
- [百分求教]请教一个URLRewrite的问题
- vb.net如何停止返回此事件操作?
- asp.net 利用gridview控件读取excel内容,怎么修改某列列宽?
- 急聘.net,VB,VC开发高手!
- 我现在用DW做一些ASPX的页面 界面和一些基本控制,现在搞不清该怎么导入我用.NET做的工作中了,难道粘贴代码? 帮我的大侠,先谢了!
- 创建动态的验证控件的问题,在线等待???
- 如何让跨多行的单元格中的表格自动与单元格一样高?
- dropdownlist在修改时怎么加载原来的数据?
你没有使用到全文检索。你google一下“sql server 全文检索”,先了解什么才是sql server的全文检索技术。