У меня проблема с полнотекстовым поиском в базе данных клиента.Проблема возникает только в базе данных клиента, и я не могу воспроизвести ее локально, поэтому я думаю, что она должна быть связана с существующими данными в базе данных.
В хранимой процедуре я проверяю ключевое слово для различных символов, а затем манипулирую им и присваиваю результат @ SearchString .Если в моем ключевом слове нет пробелов в кавычках, я запускаю следующий запрос к таблице с полнотекстовым индексом по всем столбцам:
SELECT [KEY] FROM CONTAINSTABLE([TableName], *, @SearchString, 1000)
Ключевое слово, которое я передаю хранимой процедуре.равен I-MU-MUMB-ISC-2909 , и после манипуляции я назначаю "I-MU-MUMB-ISC-2909 *" на @ SearchString .Даже если точная строка существует в одном из столбцов, запрос не возвращает никаких результатов.Я использовал STOPLIST = OFF при создании этого полнотекстового индекса, поэтому моя проблема не должна касаться стоп-слов.Кроме того, если я ищу I-MU-MUMB-ISC-2908 , (строка заканчивается на 8 вместо 9), в результате появляется другая строка, в которой эта строка находится в том же столбце.
Я даже изменил выбор и использовал конкретное имя столбца, содержащее ключевое слово, но опять-таки результата не было.
Если это поможет, я заметил, что эти две строки вместе с несколькими сотнями строк имеют I-MU-MUMB в одном из столбцов.
У меня нет прямого доступа к серверу, поэтому я был бы признателен, если бы вы дали мне несколько советов, которые я смогу протестировать позже, когдаЯ получаю доступ к серверу.
Спасибо!