2009-11-10 3 views
11

나는 키워드 FREETEXTTABLE을 사용하여 SQL Server 전체 텍스트 검색을 사용하여 몇 가지 열을 기반으로 결과 테이블을 반환하고 키워드를 검색합니다.FREETEXTTABLE을 사용하여 열에 우선 순위/가중치 부여

이제 제목과 설명이 검색되는 기본 열이 2 개 있습니다. 제목 열에 우선 순위를 부여하고 싶습니다. 내 결과가 가장 많지만 설명에 결과가 포함될 수 있지만 우선 순위를 부여하고 싶습니다. 설명 이상의 제목에 대한 단어 (그러나 너무 구체적이므로 CONTAINSTABLE을 사용하고 싶지 않습니다.) FREETEXTTABLE을 사용하여 열의 가중치/우선 순위를 부여하는 방법이 있습니까?

답변

13

당신은이 같은 자신의 '무게', 무언가를 제공하는 노동 조합과 2 개 쿼리를 사용해야합니다 :

select [key], sum(rnk) as weightRank 
from 
     (
      select Rank * 2.0 as rnk, [key] from freetexttable(tableName,Title,'free text string') 
      union all 
      select Rank * 1.0 as rnk, [key] from freetexttable(tableName,Description,'free text string') 
     ) as t 
group by [key] 
관련 문제