2009-11-10 11 views
11

Używam wyszukiwania pełnotekstowego SQL Server, a słowo kluczowe FREETEXTTABLE zwraca tabelę wyników na podstawie kilku kolumn, wyszukując słowo kluczowe.Dodawanie priorytetu/wagi do kolumny przy użyciu FREETEXTTABLE

Mam teraz 2 główne kolumny, których szukam, tytuł i opis, chcę nadać pierwszeństwo kolumnie tytułu, ponieważ najprawdopodobniej będą one miały moje wyniki, ale opis może również zawierać wyniki, ale chcę, aby dawał pierwszeństwo dla słowa w tytule powyżej opisu (ale nie chcę używać CONTAINSTABLE, ponieważ jest to zbyt szczegółowe). Czy istnieje sposób nadawania wag/priorytetów kolumn przy użyciu FREETEXTTABLE?

Odpowiedz

13

Musisz użyć 2 zapytań z unii, zapewniając „waga” własnego, coś jak to:

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] 
Powiązane problemy