Pergunta

estou a usar CONTAINSTABLE Para pesquisar duas colunas de tabela. Uma vez que a pesquisa contém pequenas palavras como 'o' '' para '' a ', a pesquisa não retorna resultados, mesmo quando eles estão realmente presentes na coluna.

Exemplo rápido. A coluna que está sendo pesquisada contém o texto. 'O sistema precisa ser atualizado'

A seguir, o SQL retorna 0 linhas

SELECT     * FROM Incident WHERE (TicketNumber IN (
SELECT TicketNumber FROM         [Action] FT_TBL INNER JOIN
CONTAINSTABLE(Action, Text, '"system" AND "needs" AND "to" AND "upgraded" AND NOT "Search Summary"') KEY_TBL ON FT_TBL.ID = KEY_TBL.[KEY]
UNION
SELECT TicketNumber FROM [Incident] FT_TBL INNER JOIN
CONTAINSTABLE(Incident, Subject, '"system" AND "needs" AND "to" AND "upgraded"') AS KEY_TBL ON FT_TBL.TicketNumber = KEY_TBL.[KEY]))

Uma vez 'para' é omitido, funciona bem:

SELECT     * FROM Incident WHERE (TicketNumber IN (
SELECT TicketNumber FROM         [Action] FT_TBL INNER JOIN
CONTAINSTABLE(Action, Text, '"system" AND "needs" AND "upgraded" AND NOT "Search Summary"') KEY_TBL ON FT_TBL.ID = KEY_TBL.[KEY]
UNION
SELECT TicketNumber FROM [Incident] FT_TBL INNER JOIN
CONTAINSTABLE(Incident, Subject, '"system" AND "needs" AND "upgraded"') AS KEY_TBL ON FT_TBL.TicketNumber = KEY_TBL.[KEY]))

Como pode CONTAINSTABLE ser usado com essas palavras menores ou devem ser deixadas de fora? Se essas palavras menores são realmente significativas na pesquisa, como elas podem ser incluídas na pesquisa?

Foi útil?

Solução

Essas não são "palavras pequenas", são palavras comuns que estão na lista de paradas. Eles são ignorados.

Ver Palavras de parada e paradas em bol.

Outras dicas

Por favor, veja o fim da minha resposta Ao criar e envolver a lista de paradas de texto completo personalizado a partir do vazio. Eu verifiquei e com um vazio que sua consulta funciona com "to", "be", "the", "for", etc.

Atualizar:

O SQL Server 2005 deve ter mssql ftdata ruireng.txt.
Eu recomendaria para ver as respostas para Pergunta "Palavras de ruído no SQL Server 2005 Pesquisa de texto completo"

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top