Вот мое затруднение. У меня есть переменная, содержащая абзац текста, и столбец, полный ключевых слов. Я хочу выполнить поиск по каждому ключевому слову, содержащемуся в столбце, по всему тексту, содержащемуся в моей переменной.
Единственный известный мне способ сделать это — выбрать каждую строку столбца по одной, а затем использовать оператор LIKE с подстановочными знаками с каждой стороны, чтобы увидеть, встречается ли ключевое слово из столбца где-либо в тексте внутри строки. Переменная. Каждый способ, которым я пытаюсь это сделать, в конечном итоге кажется ОЧЕНЬ неэффективным.
Еще один способ взглянуть на это так: если бы я мог изменить порядок операций, таких как FREETEXT, на выполнение чего-то вроде FREETEXT(@input, keywords), это было бы здорово. Но я просто не могу найти способ сделать это просто и эффективно.
Любые советы о том, как сделать это максимально эффективно? Я очень благодарна за помощь!
Редактировать:
Вот моя хранимая процедура, для справки:
GO
@input varchar(1000),
@debug varchar(25) output
AS
BEGIN
SELECT TOP 1 @debug = kw.keyword
FROM (SELECT @input input) bigstring
INNER JOIN table1 kw
on bigstring.input LIKE '%' + kw.keyword + '%'
END