我正在尝试实施全文搜索。我正在使用FREETEXT,我得到了正确的结果。问题是结果的排序。如果尝试搜索“停车场”,那么与这两个词匹配的结果应该在开头,然后只匹配其中一个。我怎么能做到这一点?
感谢
答案 0 :(得分:9)
使用FREETEXTTABLE而不是FREETEXT。
FREETEXTTABLE将返回一个包含Rank信息的密钥表。您可以对此排名信息进行排序,以找到最匹配的项目。
Microsoft FREETEXTTABLE documentation
以下示例说明了其工作原理:
SELECT
t.TableID
, t.TextData
, ft.Rank
FROM
Table t
INNER JOIN FREETEXTTABLE ( Table , * , 'car park' ) ft ON ( t.TableID = ft.[Key] )
ORDER BY
ft.Rank DESC