sql-server – Sql Server多字搜索和排名结果

假设用户输入“Vintage Audi Car”作为搜索条件

我的表有一个字段“描述”为Varchar(Max)

我想搜索用户输入的值为Vintage OR Audi OR Car.结果应显示包含顶部“描述”中所有三个单词的行和具有任意两个单词的行,然后显示包含任意一个单词的行.

让我知道如何实现这一目标.

我愿意使用全文搜索.

最佳答案 使用命令CONTAINSTABLE进行全文搜索应该是可能的:

SELECT * FROM Car 
INNER JOIN CONTAINSTABLE(Car, Description, 'ISABOUT (Vintage weight (.5), Audi weight (0.5), Car weight (0.5) )') AS A 
   ON Car.Id = A.[KEY] 
ORDER BY A.[RANK] DESC;

等级由重量计算,因此具有描述“Vintage Audi”的行将比具有描述“Audi”的行获得更高的等级.

点赞