SQL Server Freetext匹配-如何按相关性排序

时间:2020-03-05 18:50:33  来源:igfitidea点击:

是否可以通过自由文本匹配的相关性在SQL Server 2005中对结果进行排序?在MySQL中,我们可以在ORDER BY部分中使用(大致等效)MATCH函数,但是我在SQL Server中没有发现任何等效项。

从MySQL文档中:

For each row in the table, MATCH() returns a relevance value; that is, a similarity measure between the search string and the text in that row in the columns named in the MATCH() list.

因此,例如,我们可以按投票数排序,然后按相关性排序,最后按创建日期排序。这是可以做的事情吗,还是我只想返回匹配值而没有这种排序能力呢?

解决方案

回答

如果我们使用的是" FREETEXTTABLE",那么它会返回列名" Rank",因此"按等级排序"应该有效。我不知道其他自由文本搜索方法是否也返回此值。你可以试试看。

回答

" FREETEXTTABLE"和" CONTAINSTABLE"都将返回" [RANK]"列,但请确保我们使用的是正确的变体或者将它们两者并用以获得所有适当的结果。