Соответствие свободного текста SQL Server - как сортировать по релевантности - PullRequest
8 голосов
/ 10 сентября 2008

Можно ли упорядочить результаты в SQL Server 2005 по релевантности совпадения свободного текста? В MySQL вы можете использовать (примерно эквивалентную) функцию MATCH в разделе ORDER BY, но я не нашел никакой эквивалентности в SQL Server.

Из документов MySQL :

Для каждой строки в таблице MATCH () возвращает значение релевантности; то есть мера сходства между строкой поиска и текстом в этой строке в столбцах, названных в списке MATCH ().

Так, например, вы можете упорядочить по количеству голосов, затем по релевантности и, наконец, по дате создания. Это что-то, что можно сделать, или я застрял, просто возвращая совпадающие значения и не имея этой способности упорядочения?

Ответы [ 2 ]

4 голосов
/ 10 сентября 2008

Если вы используете FREETEXTTABLE, то возвращается имя столбца Rank, поэтому order by Rank должно работать. Я не знаю, возвращают ли это значение другие методы поиска в свободном тексте или нет. Вы можете попробовать.

2 голосов
/ 12 сентября 2008

Оба FREETEXTTABLE и CONTAINSTABLE вернут столбец [RANK], но убедитесь, что вы используете либо правильный вариант, либо объедините оба из них, чтобы получить все подходящие результаты.

...