полнотекстовый поиск в Microsoft SQL Server

#sql #sql-server #full-text-search #full-text-indexing

#sql #sql-сервер #полнотекстовый поиск #полнотекстовое индексирование

Вопрос:

У меня есть таблица (имя: ошибки) с большим количеством строк. некоторые строки этой таблицы показаны в следующем:

 202 16  Invalid type '%s' for WAITFOR. Supported data types are CHAR/VARCHAR, NCHAR/NVARCHAR, and DATETIME. WAITFOR DELAY supports the INT and SMALLINT data types.
203 16  The name '%.*ls' is not a valid identifier.
204 20  Normalization error in node %ls.
205 16  All queries combined using a UNION, INTERSECT or EXCEPT operator must have an  equal number of expressions in their target lists.
206 16  Operand type clash: %ls is incompatible with %ls
207 16  Invalid column name '%.*ls'.
  

вместо строк типа ‘%.*ls’ можно использовать другие слова. например, у меня есть строка, подобная этой:

 Invalid column name 'test'.
  

Я хочу использовать полнотекстовый поиск в Microsoft SQL Server 2012, чтобы найти наиболее похожую строку в таблице ошибок с (Недопустимое имя столбца ‘test’.) я использовал запрос ниже, но этот запрос не возвращает никаких выходных данных

 SELECT *
FROM errors AS A
INNER JOIN
CONTAINSTABLE(errors , text, 'ISABOUT ("Invalid column name ''text''")',
LANGUAGE N'English',10) AS K
ON A.text = K.[KEY]
  

есть идеи?

Комментарии:

1. Попробуйте что-то вроде этого. Выберите * Из ошибок a, где a.текст типа «Недопустимое имя столбца text%», Внутреннее соединение и containstable выглядят для меня излишними.

2. это не работает. «Недопустимое имя столбца ‘test'» не существует в таблице. ‘test’ вместо ‘%.*ls’ в строке таблицы (207 16 Недопустимое имя столбца ‘%.*ls’.). Мне нужно найти наиболее похожий srtring!

3. Я не уверен, понимаю ли я. Вы ищете ошибку в errors, которая выглядит как недопустимое имя столбца какой-то другой текст, заканчивающийся на ls. Это правильно?

4. Это был просто пример. У меня есть таблица ошибок. сообщения об ошибках содержат строки типа ‘%.*ls’, которые можно заменить любой строкой (например: столкновение типов операндов: int несовместимо со строкой) Мне нужен общедоступный способ найти наиболее похожую строку в таблице с моей строкой (моя строка: столкновение типов операндов: int несовместимо со строкой или недопустимым именем столбца «текст» или …)