|
| |
名片设计 CorelDRAW Illustrator AuotoCAD Painter 其他软件 Photoshop Fireworks Flash |
|
sql2000的查询结果进行相关度排序,听起来好象很吸引人,不过真的是可以实现的。 上午上网看到了一篇利用微软index server来做全文查询的文章(这个以前也看到过,在计算机治理中也自带了这样一个查询功能) 我的IIS默认web服务器在g:/wwwroot下其中有10万多的html文档 测试:strSearch = "SELECT DocTitle, Path, FileName, Characterization, Size,write,RANK" & _ " FROM SCOPE()" & _ " WHERE CONTAINS (\\\'" & Request.Form("txtSearchFor") & "\\\') ORDER BY RANK desc" 还进行了相关度的排序,我没有做时间的详细开销 的计算,不过给人的感觉还可以接受,在翻页的时候就异常快了。不过最大的缺点好象就是只能索引静态页面了。 下午我把以前的一个50多万条记录(主要是歌曲名和歌手名)的数据库在sql2000做了索引,晚上就可以开始测试了。 测试一: "select top 26 * from song1 where contains(songtitle,\\\'爱\\\')",对结果没有进行任何的处理,只是按照ID的升续排列 时间开销基本上维持在0.016s,速度是很让人满足的,至少感觉不到慢。 测试二:利用rank值进行了相关度的排序,"order by rank desc" or "order by rank asc",查询结果在排序的质量上让人满足,都比较 正确的,不管是查询时使用 or 或者and进行多要害字的排序都还可以的,不过时间的开销让我受不了,居然在6s到8s之间, 而且cpu也占用比较高 我看到网上其他的搜索的相关度排序都比较快的,开源的Lucene我没有研究过,因为我不懂java。 不过我想假如在索引的时候对每个要害字进行相关度的运算查询起来应该不会慢的啊,这个我也感到郁闷。 返回类别: 教程 上一教程: 远程治理你的SQL数据的方式 下一教程: 怎样经由ADO来压缩MICROSOFT ACCESS数据库 您可以阅读与"关于对SQL2000查询结果进行相关度排序的测试"相关的教程: · 数据库查询结果的动态排序(5) · 数据库查询结果的动态排序(4) · 数据库查询结果的动态排序(1) · 数据库查询结果的动态排序(6) · 数据库查询结果的动态排序(2) |
| 快精灵印艺坊 版权所有 |
首页 |
||