2008-09-10 65 views
8

是否可以通過自由文本匹配的相關性在SQL Server 2005中排序結果?在MySQL中,您可以在ORDER BY部分中使用(大致相當的)MATCH函數,但我還沒有在SQL Server中找到任何等價物。SQL Server自由文本匹配 - 如何按相關性排序

MySQL docs

對於表中的每一行,MATCH()返回一個相關值;即搜索字符串與MATCH()列表中所列列中該行中文本之間的相似性度量。

因此,例如,您可以按票數,然後是相關性,最後按創建日期排序。這是可以完成的事情,還是我堅持只返回匹配的值而沒有這種排序能力?

回答

4

如果您使用的是FREETEXTTABLE,那麼它返回一個列名Rank,所以order by Rank應該工作。我不知道其他自由文本搜索方法是否也返回這個值或不。你可以試試。

2

FREETEXTTABLECONTAINSTABLE都將返回[RANK]列,但請確保您使用的是正確的變體或將它們結合以獲得所有適當的結果。