У меня проблемы с ранжированием, используемым при полнотекстовом поиске в SQL Server.
Предположим, пользователь ищет два слова, "foo bar". Мы предполагаем, что пользователь намеревается выполнить поиск ИЛИ, поэтому мы передаем "foo OR bar" нашему вызову CONTAINSTABLE. Мы находим, что строка, которая содержит «foo» 10 раз, но не содержит «bar», будет иметь гораздо более высокий ранг, чем строка, в которой есть «foo» и «bar».
Мы бы хотели, чтобы строка с обоими терминами была более предпочтительной, чем строка, содержащая только один термин несколько раз. Любой совет, как этого добиться?
Я нашел документацию, связанную с модификатором RANKMETHOD, но, похоже, она предназначена только для поиска SQL Enterprise и недоступна при обычной установке SQL Server 2005. Мы могли бы также перейти на Lucene.Net, но я надеюсь, что у него будет лучший рейтинг. Мы могли бы также выполнить несколько поисков и объединить результаты, но это кажется нежелательным, так как увеличивается количество искомых слов.