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