Учитывая следующие допущения:
- Ваша таблица уже содержит полный текст
- Ваша таблица называется "example" и содержит 2 столбца с именами "exampleID" и "exampleText" (exampleText указан в вашем полнотекстовом индексе)
- Вы можете проанализировать ввод пользователя, как показано для каждого примера:
parsedUserInput = 'The', 'quick', 'brown', 'fox', 'jumps', 'over', 'the', 'lazy', 'dog'
Тогда я думаю, что вы ищете что-то вроде этого:
SELECT display_term as term
,document_count as numberOfOccurences
FROM sys.dm_fts_index_keywords (db_id(),object_id('example'))
WHERE display_term IN({parsedUserInput})
В противном случае, возможно, ранг будет работать для вас ...
parsedUserInput = "Быстрое" ИЛИ "ИЛИ" коричневое "ИЛИ" лиса "ИЛИ" перепрыгивает "ИЛИ" на "ИЛИ" на "ИЛИ" ленивое "ИЛИ" собака "
SELECT
ranks.rank AS rank
,e.exampleID
FROM example e
INNER JOIN CONTAINSTABLE ( example, exampleText, ' **{parsedUserInput}** ' ) AS ranks
ON e.exampleID = ranks.[KEY]
WHERE ranks.rank > 0 -- return only rows that have a rank
order by ranks.rank desc