我已经在 Sql Server 2008 表之一上实现了全文搜索。使用包含搜索某些单词时,查询工作正常。
我想根据全文搜索的排名功能过滤掉结果。我正在写以下查询
SELECT rank, * FROM Mas_text
WHERE CONTAINS(text, 'Wanted and Engineers')
此查询无法编译并给我“无效的列名'RANK'”错误
请建议。
我已经在 Sql Server 2008 表之一上实现了全文搜索。使用包含搜索某些单词时,查询工作正常。
我想根据全文搜索的排名功能过滤掉结果。我正在写以下查询
SELECT rank, * FROM Mas_text
WHERE CONTAINS(text, 'Wanted and Engineers')
此查询无法编译并给我“无效的列名'RANK'”错误
请建议。
rank函数不适用于 CONTAINS 查询。您必须使用 CONTAINSTABLE 才能获得排名。见这里。
应该看起来像这样:
SELECT Mas_text.*, k.rank
FROM Mas_text
INNER JOIN CONTAINSTABLE(Mas_text, text, 'Wanted and Engineers') k
ON Mas_text.primarykey = k.[Key]