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