代码之家  ›  专栏  ›  技术社区  ›  Cebjyre

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

  •  8
  • Cebjyre  · 技术社区  · 16 年前

    是否可以根据自由文本匹配的相关性来排序SQL Server 2005中的结果?在MySQL中,您可以在ORDERBY部分中使用(大致等效的)match函数,但我在SQL Server中没有找到任何等效的功能。

    MySQL docs :

    对于表中的每一行,match()返回一个相关性值;也就是说,搜索字符串与match()列表中指定列中该行中的文本之间的相似性度量。

    例如,你可以通过投票数,然后这个相关性,最后通过创建日期来排序。这是可以做的事情,还是仅仅返回匹配的值而没有这种排序能力?

    2 回复  |  直到 15 年前
        1
  •  4
  •   Biri    16 年前

    如果您正在使用 FREETEXTTABLE 然后返回列名 Rank 如此 order by Rank 应该工作。我不知道其他自由文本搜索方法是否也返回这个值。你可以试试。

        2
  •  2
  •   Josef    16 年前

    两个 FREETEXTTABLE CONTAINSTABLE 将返回 [RANK] 列,但请确保使用正确的变体或将两者联合以获得所有适当的结果。