内容摘要:Rank值一般与特定的用户查询相关(如使用FREETEXT子句),并不针对一般意义性质的查询。本文介绍了Rank排名统计信息、计算问题、常量等内容,供大家参考!
MS SQL Server全文检索能够产生一个积分(即Rank值),它反映了查询数据返回结果的相关性。这里每行Rank可以被视为一种排序条件,可以反映排序所定的相关性。
注:Rank值一般与特定的用户查询相关(如使用FREETEXT子句),并不针对一般意义性质的查询。
Rank排名统计信息
当一个索引一旦被建立,其相关统计信息即被收集用于排名。建立全文目录的处理过程并不直接地建立一个单一的索引结构。实际上,微软的全文检索引擎SQL Server ( MSFTESQL)服务创造中间索引,数据均被有效地索引。事实上,MSFTESQL能够合并多个索引成为一个大的索引且这一过程将被重复多次,MSFTESQL接着进行“主合并” ,它合并了所有的中间索引成为一个大型的主索引。
当计算排名查询结果集,其中一些统计数据,可以使用来自规模较小的中间索引,以满足查询和一些主索引。这将取决于是否有中间索引已经合并与否。因此,如果中间索引均不会被合并,排名的统计资料,可以在不同的精度。这也解释了为什么同样的查询,随着时间的推移,全文检索的索引数据的不断添加、修改、删除、并为规模较小的索引合并可以返回不同分级的结果。
为了最大限度地减少的面积索引和计算复杂性,统计数据往往会四舍五入处理。
下面的列表包括了一些常用的术语和统计信息值,这些值在计算排名中是很重要的:
◆Property
全文索引栏的行。
◆Document
该实体(Document)通过查询被返回。在SQL Server中,它相当于一行。一份Document可以有多个Property,就如同一行可以有多个建立了全文索引的栏位。
◆Index
单独的反转索引包含一个或多个Document。它可能完全分布在内存或磁盘上。当查询结果匹配时,许多查询统计对于个别的索引而言是相对的。
来源:51CTO 作者:铁在烧 责编:豆豆技术应用