Соответствие свободному тексту SQL Server - как мне выполнить сортировку по релевантности
-
09-06-2019 - |
Вопрос
Можно ли упорядочить результаты в SQL Server 2005 по релевантности соответствия freetext?В MySQL вы можете использовать (примерно эквивалентную) функцию СОПОСТАВЛЕНИЯ в разделе ORDER BY, но я не нашел никакого эквивалента в SQL Server.
Из самого Документы MySQL:
Для каждой строки в таблице функция MATCH() возвращает значение релевантности;то есть мера сходства между строкой поиска и текстом в этой строке в столбцах, указанных в списке MATCH().
Так, например, вы могли бы сделать заказ по количеству голосов, затем по релевантности и, наконец, по дате создания.Это что-то, что можно сделать, или я застрял, просто возвращая соответствующие значения и не имея такой возможности упорядочивания?
Решение
Если вы используете FREETEXTTABLE
затем он возвращает имя столбца Rank
, так что order by Rank
должно сработать.Я не знаю, возвращают ли другие методы поиска по свободному тексту это значение или нет.Вы можете попробовать.
Другие советы
И то , и другое FREETEXTTABLE
и CONTAINSTABLE
вернет [RANK]
столбец, но убедитесь, что вы используете либо правильный вариант, либо объединяете их оба, чтобы получить все соответствующие результаты.