Почему не SQL Полные результаты Текст Индексация возврата для слов, содержащих #?

голоса
18

Например, мой запрос как следующий с помощью SQL Server 2005:

SELECT * FROM Table WHERE FREETEXT(SearchField, 'c#') 

У меня есть полнотекстовый индекс, определенный использовать SearchField столбца, который возвращает результаты при использовании:

SELECT * FROM Table WHERE SearchField LIKE '%c#%'

Я считаю, что # это специальное письмо, так как я позволяю FREETEXT правильно работать на приведенном выше запросе?

Задан 04/08/2008 в 06:51
источник пользователем
На других языках...                            


2 ответов

голоса
10

# Полукокс индексироваться пунктуации и поэтому игнорируется, так что похоже, что мы удалим букву C от нашего слова индексации игнорировать списки.

Испытано локально после делать это и восстановление индексов и я получаю результаты!

Глядя на использование другого языка слово прерыватель на индексированный столбец, так что эти специальные символы не игнорируются.

EDIT: Я также нашел эту информацию :

C # индексируется, как с (если с не в вашем шумового списке слов, больше на шумовых списки слов позже), но C # индексируется в C # (в SQL 2005 и SQL 2000 работает на Win2003 независимо от того, C или C в вашем шума список слов). Это не только C #, который хранится в C #, но любая прописная буква следует #. С другой стороны, C ++ (и любая другая в нижнем регистре буква с ++) индексируются, как с (независимо от того, с в вашем шумовоге списка слов).

Ответил 04/08/2008 d 07:39
источник пользователем

голоса
1

Цитируя столь реплицируется страницу справки о Indexing языке Служба запросов:

Для того, чтобы использовать специально обработанные символы, такие как &, |, ^, #, @, $, (,), в запросе, заключите запрос в кавычки ( «).

Насколько я знаю, полнотекстовый поиск в MSSQLтакже осуществляется с помощью службы индексирования, так что это может помочь.

Ответил 04/08/2008 d 07:10
источник пользователем

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more