使用全文搜索返回排名包含查询

时间:2012-05-09 08:11:39

标签: sql-server-2008 full-text-search

我已在其中一个Sql Server 2008表上实现了全文搜索。 使用contains搜索某些单词时,查询工作正常。

我想根据全文搜索的排名功能过滤掉结果。我正在编写以下查询

SELECT rank, * FROM Mas_text
 WHERE CONTAINS(text, 'Wanted and Engineers')

此查询无法编译并向我提供“无效列名'RANK'”错误

请建议。

1 个答案:

答案 0 :(得分:6)

排名功能不适用于CONTAINS查询。你必须使用CONTAINSTABLE来获得排名。请参阅here

应该是这样的:

SELECT Mas_text.*, k.rank
FROM Mas_text 
    INNER JOIN CONTAINSTABLE(Mas_text, text, 'Wanted and Engineers') k
    ON Mas_text.primarykey = k.[Key]