Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Эта статья помогает обойти проблему, возникающую при выполнении полнотекстового поиска по данным символов SQL Server или при использовании распределенного запроса SQL с поставщиком OLE DB (MSIDXS) и расширением префикса для составного слова, содержащего дефис (например, XYZ-A*).
Применяется к: SQL Server
Исходный номер базы знаний: 200043
Симптомы
При выполнении полнотекстового поиска в символьных данных SQL Server или при использовании распределенного запроса SQL с поставщиком OLE DB (MSIDXS) microsoft Index Server (MSIDXS) и расширением префикса для составного слова, содержащего дефис (например, XYZ-A*), результаты, полученные, могут не быть должным образом.
Причина
Полнотекстовый поиск считает слово строкой символов без пробелов или препинания. Вхождение не буквенно-цифрового символа может разорвать слово во время поиска. Так как полнотекстовый поиск SQL Server является подсистемой на основе слов, препинание обычно не считается и игнорируется при поиске индекса. Таким образом, предложение, например, CONTAINS
соответствует строке со значением, ошибка поиска моего компьютера будет дорогой.CONTAINS(testing, "computer-failure")
Обходное решение
Чтобы обойти эту проблему, попробуйте один из следующих методов:
При использовании средств полнотекстового индекса SQL Server используются только буквенно-цифровые символы.
Если не буквенно-цифровые символы должны использоваться в критерии поиска (в первую очередь символ дефиса
-
), используйте предложение Transact-SQLLIKE
вместоFULLTEXT
предикатов илиCONTAINS
предикатов.
Дополнительная информация
Microsoft SQL Server версии 7.0 предоставляет возможность выполнять полнотекстовый запрос на символьные данные, хранящиеся в таблицах SQL Server. Вы также можете использовать распределенный запрос SQL с поставщиком MSIDXS для поиска данных файловой системы. Использование тире (-
) в поиске близкого взаимодействия не поддерживается и может дать непредвиденные результаты.
Ссылки
Дополнительные сведения о полнотекстовом поиске SQL Server см. в электронной документации по SQL Server.
Дополнительные сведения об использовании предложения CONTAINS с поставщиком MICROSOFT Index Server (MSIDXS) см. в документации по серверу индексов в документации по пакету параметров Windows NT 4.0.