SQL Server 自由文本匹配 - 如何按相关性排序
-
09-06-2019 - |
题
是否可以根据自由文本匹配的相关性对 SQL Server 2005 中的结果进行排序?在 MySQL 中,您可以在 ORDER BY 部分中使用(大致等效的)MATCH 函数,但我在 SQL Server 中没有找到任何等效项。
来自 MySQL 文档:
对于表中的每一行,MATCH() 返回一个相关值;也就是说,搜索字符串与 MATCH() 列表中指定的列中该行中的文本之间的相似性度量。
例如,您可以按投票数排序,然后按相关性排序,最后按创建日期排序。这是可以完成的事情,还是我只能返回匹配的值而不具有这种排序能力?
解决方案
如果您正在使用 FREETEXTTABLE
然后它返回一个列名 Rank
, , 所以 order by Rank
应该管用。我不知道其他自由文本搜索方法是否也返回该值。你可以尝试一下。
其他提示
两个都 FREETEXTTABLE
和 CONTAINSTABLE
将返回 [RANK]
列,但请确保您使用正确的变体或将它们结合起来以获得所有适当的结果。
不隶属于 StackOverflow