Contendo uma consulta não reconhecendo pequenas palavras
-
26-09-2019 - |
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?
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"