全文検索クエリで、特定の列により高い重みを割り当てたいと考えています。次のクエリを検討してください。
SELECT Key_Table.RANK, FT_Table.* FROM Restaurants AS FT_Table
INNER JOIN FREETEXTTABLE(Restaurants, *, 'chilly chicken') AS Key_Table
ON FT_Table.RestaurantID = Key_Table.[KEY]
ORDER BY Key_Table.RANK DESC
ここで、結果で [名前] 列の重みを高くしたいと考えています (名前、キーワード、および場所は全文索引付けされています)。現在、結果が 3 つの列のいずれかにある場合、ランクは影響を受けません。
たとえば、「Chilly Chicken」という名前の行を、別の名前の「Chilly Chicken」というキーワードの行よりも上位にランク付けしたいと考えています。
編集:
私は、ContainsTable を使用することに熱心ではありません。これは、フレーズ (Chilly AND Chicken など) を分離することを意味し、考えられるすべての組み合わせ (Chilly AND Chicken、Chilly OR Chicken など) を検索する必要があるためです。 FTS エンジンは、どの結果が最も一致するかを自動的に判断します。FREETEXT はこのようにうまく機能すると思います。
CONTAINS/CONTAINSTABLE の仕組みを誤解していた場合は、お詫び申し上げます。