我正在使用SQL Server全文搜索,使用关键字FREETEXTTABLE根据几列返回结果表,搜索关键字。
现在我有两个主要的列要搜索,标题和描述,我想优先考虑标题列,因为这很可能包含我的结果,但描述也可能包含结果,但我希望它优先于标题中的单词而不是描述(但我不想使用CONTAINSTABLE,因为这太具体了)。有没有办法使用FREETEXTTABLE为列赋予权重/优先级?
发布于 2009-11-11 09:26:55
您需要使用2个查询和一个联合,提供您自己的“权重”,如下所示:
select [key], sum(rnk) as weightRank
from
(
select Rank * 2.0 as rnk, [key] from freetexttable(tableName,Title,'free text string')
union all
select Rank * 1.0 as rnk, [key] from freetexttable(tableName,Description,'free text string')
) as t
group by [key]https://stackoverflow.com/questions/1710534
复制相似问题