如何理解SQL Server中的Ranking
2008-02-20 09:52:56 来源:WEB开发网 闂傚倸鍊搁崐鎼佸磹閹间礁纾归柟闂寸绾惧綊鏌熼梻瀵割槮缁惧墽鎳撻—鍐偓锝庝簻椤掋垺銇勯幇顖毿撻柟渚垮妼椤粓宕卞Δ鈧獮濠勭磽閸屾艾鈧懓顫濋妸鈺佺疅缂佸顑欓崥瀣煕椤愵偅绶氱紓鍐╂礋濮婂宕掑▎鎴М濠电姭鍋撻梺顒€绉甸幆鐐哄箹濞n剙濡肩紒鎰殜閺屸€愁吋鎼粹€茬敖婵炴垶鎸哥粔鐢稿Φ閸曨垰鍐€妞ゆ劦婢€濞岊亪姊虹紒妯诲蔼闁稿海鏁诲濠氭晲婢跺﹤宓嗛梺缁樺姈缁佹挳宕戦幘璇叉嵍妞ゆ挻绋戞禍鐐叏濡厧浜鹃悗姘炬嫹

WeightedSum = Σ[key=1 to n] ContainsRankKey * WeightKey
Rank = ( MaxQueryRank * WeightedSum ) / ( ( Σ[key=1 to n] ContainsRankKey2 )
+ ( Σ[key=1 to n] WeightKey2 ) - ( WeightedSum ) )
FREETEXT中的排序Ranking
FREETEXT排名是基于对奥卡皮BM25排名公式计算得出的。 FREETEXT查询会增加关键字并间接生成到查询(间接形式的原始查询词),这些关键词被当作独立个体分别加以处理,而从它们所派生出的同义词也被视作相同权重计算。每个关键词在查询中的统计将直接影响到排序Rank值。
Rank = Σ[Terms in Query] w ( ( ( k1 + 1 ) tf ) / ( K + tf ) ) * ( ( k3 + 1 ) qtf / ( k3 + qtf ) ) )
注:
W是Robertson-Sparck Jones的权重。
在这个公司中,w被定义为:
w = log10 ( ( ( r + 0.5 ) * ( N – R + r + 0.5 ) ) / ( ( R – r + 0.5 ) * ( n – r + 0.5 ) )
N:被查询的property计算的索引行数。
n:包含关键字Word的行数。
K is ( k1 * ( ( 1 – b ) + ( b * dl / avdl ) ) ).
dl:property长度,关键字 word出现的次数。
Avdl:被查询的property平均长度,在关键字出现的次数。
k1, b, and k3 分别为常量1.2, 0.75, and 8.0。
tf:在特定行中出现的在查询property中的频率字。
Rank = Σ[Terms in Query] w ( ( ( k1 + 1 ) tf ) / ( K + tf ) ) * ( ( k3 + 1 ) qtf / ( k3 + qtf ) ) )
注:
W是Robertson-Sparck Jones的权重。
在这个公司中,w被定义为:
w = log10 ( ( ( r + 0.5 ) * ( N – R + r + 0.5 ) ) / ( ( R – r + 0.5 ) * ( n – r + 0.5 ) )
更多精彩
赞助商链接