假设用户输入“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”的行获得更高的等级.