如何理解SQL Server中的Ranking
2008-02-20 09:52:56 来源:WEB开发网基于此种原因,我们推荐使用ALTER FULLTEXT CATALOG ... REORGANIZE DDL命令去重建索引,以供发布重新的统计信息使用。
MSFTESQL将自动地合并基于根据中间索引大小和数值的参数而计算出来的索引。
MaxOccurrence的值被归类到1到32个层级。这意味着,比如在一份Document中50个关键字长等同于100个字长,下面的表即为范式化的。因为该文档长度在毗邻表值为32和128倍数之间 ,但它们被同样有效地视作为具有相同长度 128 ( 32 < docLength < = 128 ) 。
{
16, 32, 128, 256, 512, 725, 1024, 1450, 2048, 2896, 4096, 5792, 8192, 11585,
16384, 23170, 28000, 32768, 39554, 46340, 55938, 65536, 92681, 131072, 185363,
262144, 370727, 524288, 741455, 1048576, 2097152, 4194304
};
这里top_n_by_rank是用于新预先计算的rank选项,当计算排名一些附加值时,可能会四舍五入,所以对于一些预先计算的rank值上可能会存在一些差异,此时要确保预先计算rank选项可用。
Ranking常量表
StatisticalWeight = Log2( ( 2 + IndexedRowCount ) / KeyRowCount )
Rank = min( MaxQueryRank, HitCount * 16 * StatisticalWeight / MaxOccurrence )
短语的匹配排名象个别Keys如KeyRowCount,估计计算结果可能不准确,会稍高于实际数字。
ISABOUT的排序Ranking
ISABOUT是一种被称之为向量空间查询的传统信息检索术语。该排名算法(Rank algorithm)采用了著名的杰卡德公式。排名的计算方法先为每个条目做计算,然后得出结果,相关说明如下。
ContainsRank = 同样被用来计算 单条目的CONTAINSTABLE排序 (如下) 。Weight = 每个条目查询的权重值,默认为1。
更多精彩
赞助商链接