Предоставление приоритета/веса столбцу с использованием FREETEXTTABLE

Я использую полнотекстовый поиск по SQL Server с ключевым словом FREETEXTTABLE, чтобы возвращать таблицу результатов на основе нескольких столбцов, ища ключевое слово.

Теперь у меня есть 2 основных столбца, которые я ищу, Title и Description, я хочу, чтобы приоритет был в столбце Title, так как это, скорее всего, будет иметь мои результаты, но описание может также содержать результаты, но я хочу, чтобы это придавало приоритет слово в заголовке над описанием (но я не хочу использовать CONTAINSTABLE, поскольку это слишком специфично). Есть ли способ присвоить весу/приоритет столбцам, используя FREETEXTTABLE?

Ответ 1

Вам нужно будет использовать 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]