sql的全文搜索对于多列查询时怎么设置每列的权重

sql的全文搜索对于多列查询时如何设置每列的权重?
我对一张表的多个列进行了全文索引(title,abstract等列),在使用关键字查询

select * from [dbo].[table] where CONTAINS(*,'关键字')

结果排序并不如预期好。排序一般是所有列匹配关键字最多的排在前面。

实际上我想要的结果是title列的权值最高,如果关键字和title匹配就排最靠前,其次才列出来与content和abstract匹配的结果。

如何才能实现给每个列分配权值,进行最终的排序?
------解决方案--------------------

-- 假设[table]表的主键字段是(ID int),

-- 建临时表
create table #t(ID int,  -- 主键字段
                qz int   -- 权值
               )

-- 依字段分别计算匹配的权值
insert into #t(ID,qz)
 select ID,1000      -- title匹配时,权值1000
 from [dbo].[table] 
 where contains(title,'关键字')

insert into #t(ID,qz)
 select ID,100       -- content匹配时,权值100
 from [dbo].[table] 
 where contains(content,'关键字')
 
insert into #t(ID,qz)
 select ID,10        -- abstract匹配时,权值10
 from [dbo].[table] 
 where contains(abstract,'关键字')


-- 汇总ID的权值之和,依权值之和降序排列.
select *
 from [dbo].[table] a
 inner join (select ID,sum(qz) 'qz' 
             from #t 
             group by ID) b on a.ID=b.ID
 order by b.qz desc

------解决方案--------------------
CONTAINSTABLE函数可以返回对关键词匹配的排名,但是如楼主要求的最出现字段的权值不同而影响排序则较难实现,可以试下一下写法是否可行(没有环境测试是否可以)



 select * from [dbo].[table] where CONTAINS(*,'关键字') 
order by case when contains(title,'关键字') then 1 else 2 end