WEB开发网
开发学院数据库MSSQL Server 如何理解SQL Server中的Ranking 阅读

如何理解SQL Server中的Ranking

 2008-02-20 09:52:56 来源:WEB开发网   
核心提示: 其中:N:提交查询的Property被索引行的计数,K :( k1 * ( ( 1 – b ) + ( b * dl / avdl ) ) ),如何理解SQL Server中的Ranking(5),dl :Property长度在关键字 word出现的次数,Avdl : 被查询的

其中:

N:提交查询的Property被索引行的计数。 

K :( 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计算结果,可以加深对以上Rank公式的理解。

CREATE TABLE RANK(id int IDENTITY,
TITLE nvarchar(1000),
Keyword nvarchar(30) ,
context nvarchar(max),
CONSTRAINT PK_RANK PRIMARY KEY(id)) 
INSERT RANK(TITLE, Keyword,Context)
SELECT N'中国招商投资提供资金合同', '资金,合同' ,'2008中国招商投资提供资金合同
中国招商投资提供资金合同中国招商投资提供资金合同'
UNION ALL SELECT N'资金合同', '资金' ,'资金'
UNION ALL SELECT N'大资金大合同', '资金' ,'资金'
UNION ALL SELECT N'国际资金国际合同', '国际资金国际合同' ,
'1国际资金国际合同亚洲资金亚洲合同中国资金合同'
UNION ALL SELECT N'国际资金国际合同', '国际资金国际合同' ,
'1国际资金国际合同亚洲资金亚洲合同中国资金合同'
UNION ALL SELECT N'资金合同', '资金' ,'资金'
UNION ALL SELECT N'国际资金合同', '资金' ,'资金'
UNION ALL SELECT N'中国资金合同中国资金合同', '资金' ,'资金'
UNION ALL SELECT N'国际资金国内资金国家资金', '资金' ,'资金'
UNION ALL SELECT N'国家资金合同国际资金合同', '资金' ,'资金'
UNION ALL SELECT N'国际资金合同', '资金' ,'资金'
UNION ALL
SELECT N' 大量资金大量资金大量资金大量资金大量资金大量资金大量资金大量资金  
大量资金', '资金' ,'资金'
UNION ALL 
SELECT N' 大量大量大量资金大量大量大量大量大量大量大量大量大量大量大量大量  
大量大量', '资金' ,'资金'
GO 
--初始化全文索引
EXEC sp_fulltext_database 'enable' 
GO 
--创建一个名为 DEMO  的全文目录
EXEC sp_fulltext_catalog 'DEMO', 'create'  
GO 
--创建并填充全文索引
EXEC sp_fulltext_table 'RANK','create','DEMO','PK_RANK' 
EXEC sp_fulltext_column 'RANK','TITLE','add',0x0804 
EXEC sp_fulltext_column 'RANK','Keyword','add',0x0804
EXEC sp_fulltext_column 'RANK','context','add',0x0804
EXEC sp_fulltext_table 'RANK','start_change_tracking' 
EXEC sp_fulltext_table 'RANK','Start_background_updateindex' 
GO 

请观察如下语句所产生的按rank值倒序排序返回的结果集:

SELECT f.RANK,TITLE,Keyword ,context
FROM FREETEXTTABLE([rank], (title) ,'资金') AS f
RIGHT JOIN [rank] AS p ON f.[key] = p.ID
ORDER BY f.rank desc

上一页  1 2 3 4 5 

Tags:如何 理解 SQL

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接