Я нашел ответ на этот вопрос после прочтения более подробной информации о возможностях CONTAINSTABLE. Мое первоначальное предположение заключалось в том, что любые термины «ИЛИ» должны были иметь одинаковый вес в списке терминов, поэтому значение ранга было суммой ранжирования каждого термина ... Я, конечно, обнаружил, что результаты противоречат этому предположению, и именно поэтому Я задал оригинальный вопрос.
Решение этой проблемы состоит в том, чтобы взвешивать каждый член в равной степени, используя ISABOUT, что приводит к эквивалентному поведению суммирования рангов каждого члена.
Поэтому для примера, приведенного в исходном вопросе, я могу использовать следующее для достижения желаемых результатов:
SELECT TOP 100 * FROM JobData AS FT_TBL INNER JOIN CONTAINSTABLE(JobData, Description, 'ISABOUT("Microsoft" weight(.25), "C#" weight(.25), "5 years" weight(.25), "winforms" weight(.25))') AS KEY_TBL ON FT_TBL.Id = KEY_TBL.[KEY] ORDER BY KEY_TBL.RANK DESC
Это, конечно, может затем быть AND с другими терминами для более сложных запросов.
Надеюсь, что это может помочь кому-то еще, если они столкнутся с проблемой, аналогичной той, которая заставила меня задать первоначальный вопрос.