欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

SqlServer2008实例35排名搜索之根据权值返回排名搜索结果

程序员文章站 2022-06-22 20:29:49
使用CONTAINSTABLE命令根据加权模式匹配来返回搜索结果。CONTAINSTABLE和FREETEXTTABLE一样都表现为一个表并且能被FROM子句引用。CONTAINSTABLE也和CONTAINS有一样的搜索功能及变化形式。 CONTAINS和CONTAINSTABLE都能指定行匹配的“权值”,让一个项比另外一个更重要,因此也会影响结果排名。这通过命令中的ISABOUT来实现,它为搜索项分配一个权值。其基本语法如下:ISABOUT { } [......

    使用CONTAINSTABLE命令根据加权模式匹配来返回搜索结果。CONTAINSTABLE和FREETEXTTABLE一样都表现为一个表并且能被FROM子句引用。CONTAINSTABLE也和CONTAINS有一样的搜索功能及变化形式。
    CONTAINS和CONTAINSTABLE都能指定行匹配的“权值”,让一个项比另外一个更重要,因此也会影响结果排名。这通过命令中的ISABOUT来实现,它为搜索项分配一个权值。其基本语法如下:

ISABOUT { <search> } [WEIGHT (weight_value)]

根据排名查询Productiont。Document,项bicycle比项seat有更高的权值:

USE AdventureWorks
GO

SELECT f.RANK,d.DocumentID,d.DocumentSummary
FROM Production.Document d
INNER JOIN CONTAINSTABLE(Production.Document,DocumentSummary,'ISABOUT (bicycle weight (.9),seat weight(.1))') f
	ON d.Document=f.[KEY]
ORDER BY RANK DESC	


 

本文地址:https://blog.csdn.net/ngbshzhn/article/details/107658182