FREETEXT搜索 - 根据匹配的结果排序结果

kub*_*003 4 sql-server full-text-search sql-server-2008

我正在尝试实施全文搜索.我正在使用FREETEXT,我得到了正确的结果.问题是结果的排序.如果尝试搜索"停车场",那么与这两个词匹配的结果应该在开头,然后只匹配其中一个.我怎么能做到这一点?

谢谢

Aar*_*ron 9

使用FREETEXTTABLE而不是FREETEXT.

FREETEXTTABLE将返回一个包含Rank信息的键表.您可以对此排名信息进行排序,以查找最匹配的项目.

Microsoft FREETEXTTABLE文档

以下示例显示了其工作原理:

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
Run Code Online (Sandbox Code Playgroud)