我已在其中一个Sql Server 2008表上实现了全文搜索。 使用contains搜索某些单词时,查询工作正常。
我想根据全文搜索的排名功能过滤掉结果。我正在编写以下查询
SELECT rank, * FROM Mas_text
WHERE CONTAINS(text, 'Wanted and Engineers')
此查询无法编译并向我提供“无效列名'RANK'”错误
请建议。
答案 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]