Por que não SQL Os resultados completos do texto de indexação de retorno para palavras contendo #?

votos
18

Por exemplo, a minha consulta é como o seguinte usando SQL Server 2005:

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

Eu tenho um índice de texto completo definido para usar o searchField coluna que retorna resultados ao usar:

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

Acredito # é uma carta especial, assim como faço para permitir que FREETEXT para trabalhar corretamente para a consulta acima?

Publicado 04/08/2008 em 06:51
fonte usuário
Em outras línguas...                            


2 respostas

votos
10

O # char é indexado como pontuação e, portanto, ignorado, então parece que nós vamos remover a letra C da nossa indexação palavra ignorar listas.

Testado localmente depois de fazer isso e reconstruir os índices e eu obter resultados!

Olhando para usar uma linguagem disjuntor palavra diferente na coluna indexada, de modo que esses caracteres especiais não são ignorados.

EDIT: Eu também encontrei esta informação :

c # é indexado como c (se c não está na sua lista de palavras de ruído, veja mais sobre listas de palavras de ruído mais tarde), mas C # é indexado como C # (no SQL 2005 e SQL 2000 em execução no Win2003 independentemente se C ou c está na sua ruído lista de palavras). Não é apenas C # que é armazenado como C #, mas qualquer letra maiúscula seguido por #. Por outro lado, c ++ (e qualquer outra carta encaixotado inferior seguido por um ++) é indexado como c (independentemente de c está na sua lista de palavras de ruído).

Respondeu 04/08/2008 em 07:39
fonte usuário

votos
1

Citando uma página de ajuda muito replicado sobre indexação linguagem de consulta de serviço:

Para usar caracteres especialmente tratadas como &, |, ^, #, @, $, (,), em uma consulta, coloque sua consulta entre aspas ( “).

Tanto quanto eu sei, pesquisa de texto completo em MSSQLtambém é feito pelo serviço de indexação, então isso pode ajudar.

Respondeu 04/08/2008 em 07:10
fonte usuário

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