Тезаурус ожидает слово или термин:
http://msdn.microsoft.com/en-us/library/cc879300(v=sql.110).aspx
В моем .NET-коде я использую регулярное выражение для удаления всех этих специальных символов (обычно оставляя AZ и0-9.
http://msdn.microsoft.com/en-us/library/aa258227(v=sql.80).aspx
говорит:
слово
Строка символов без пробелов и знаков препинания.
фраза
Это одно или несколько слов с пробелами между каждым словом.
Убедитесь, что у вас настроены стоп-слова (я изменил, чтобы не было ни одного изих в моем коде)
Стоп-слова
При определении полнотекстового запроса механизм полнотекстового поиска отбрасывает стоп-слова (также называемые шумовыми словами) из критериев поиска.Стоп-слова - это такие слова, как «a», «and», «is» или «the», которые могут встречаться часто, но обычно не помогают при поиске определенного текста. Стоп-слова перечислены в стоп-листе. Каждый полнотекстовый индекссвязан с конкретным стоп-листом, который определяет, какие стоп-слова опущены в запросеили индекс во время индексации.Для получения дополнительной информации см. Стоп-слова и Стоп-листы.
Здесь также есть отличная библиотека для .net: (я использовал это для преобразования фраз в полнотекстовых запросах) http://www.sqlservercentral.com/articles/Full-Text+Search+(2008)/64248/
РЕДАКТИРОВАТЬ: Это может помочь: Обратите внимание, что я заменил на ничто, иначе это становится Thats и не будет совпадать.
search = search.Replace("’s", "");
search = Regex.Replace(search, @"[#$%&()*“”+,./:;<=>!?@[\\\]^_`’{|}~]", "");