如何理解SQL Server中的Ranking
2008-02-20 09:52:56 来源:WEB开发网MS SQL Server全文检索能够产生一个积分(即Rank值),它反映了查询数据返回结果的相关性。这里每行Rank可以被视为一种排序条件,可以反映排序所定的相关性。
注:Rank值一般与特定的用户查询相关(如使用FREETEXT子句),并不针对一般意义性质的查询。
Rank排名统计信息
当一个索引一旦被建立,其相关统计信息即被收集用于排名。建立全文目录的处理过程并不直接地建立一个单一的索引结构。实际上,微软的全文检索引擎SQL Server ( MSFTESQL)服务创造中间索引,数据均被有效地索引。事实上,MSFTESQL能够合并多个索引成为一个大的索引且这一过程将被重复多次,MSFTESQL接着进行“主合并” ,它合并了所有的中间索引成为一个大型的主索引。
当计算排名查询结果集,其中一些统计数据,可以使用来自规模较小的中间索引,以满足查询和一些主索引。这将取决于是否有中间索引已经合并与否。因此,如果中间索引均不会被合并,排名的统计资料,可以在不同的精度。这也解释了为什么同样的查询,随着时间的推移,全文检索的索引数据的不断添加、修改、删除、并为规模较小的索引合并可以返回不同分级的结果。
为了最大限度地减少的面积索引和计算复杂性,统计数据往往会四舍五入处理。
下面的列表包括了一些常用的术语和统计信息值,这些值在计算排名中是很重要的:
◆Property
全文索引栏的行。
◆Document
该实体(Document)通过查询被返回。在SQL Server中,它相当于一行。一份Document可以有多个Property,就如同一行可以有多个建立了全文索引的栏位。
◆Index
单独的反转索引包含一个或多个Document。它可能完全分布在内存或磁盘上。当查询结果匹配时,许多查询统计对于个别的索引而言是相对的。
- ››如何检查oracle的归档空间是否满了
- ››如何在浏览器中打开PDF文件并实现预览的思路与代码...
- ››如何改Win7系统我的文档保存位置
- ››SQL Server 2008 R2 下如何清理数据库日志文件
- ››如何让ios app支持32位和64位
- ››如何删除Windows 8系统未知的账户
- ››如何提高win7系统的响应速度?
- ››sqlite 存取中文的解决方法
- ››SQL2005、2008、2000 清空删除日志
- ››如何避免iPhone应用中内存泄露
- ››如何转移Win 7系统C盘的用户文件夹
- ››SQL Server 2005和SQL Server 2000数据的相互导入...
更多精彩
赞助商链接