2009-11-10 12 views
11

私はキーワードFREETEXTTABLEを使用してSQL Serverフルテキスト検索を使用して、キーワードを検索していくつかの列に基づいた結果表を返します。FREETEXTTABLEを使用して列に優先度/重みを与える

今私はタイトルと説明を検索している2つの主要な列を持っていますが、タイトル列に優先順位をつけたいのですが、結果には結果が含まれている可能性が最も高いですが説明にも結果が含まれていますが、説明の上にあるTitleの単語(ただし、これはあまりにも具体的であるため、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] 
関連する問題