none
FTS RRS feed

  • Pergunta

  • Boa tarde!!!

    Estou usando FTS, e nao esta filtrando a palavra "estamos" nos testes que estou fazendo.

    O Campo tem a informação: "A Corrupção empobrece o pais, estamos trabalhando"

    O SELECT:

    SELECT * FROM dbo.VwGC320_Conteudo_Publicado WHERE CONTAINS(*, '"Trabalhando"')
    SELECT * FROM dbo.VwGC320_Conteudo_Publicado WHERE CONTAINS(*, '"Corrupcao"')
    SELECT * FROM dbo.VwGC320_Conteudo_Publicado WHERE CONTAINS(*, '"estamos"')
    
    

    A 1ª e a 2ª opção puxa os dados, porem a 3ª opção nao busca nada, sendo que existe a palavra. Eu criei com a liguagem Brazilian, mas mesmo assim nao puxa. Gostaria de saber se alguem sabe o porque.

    Obrigado!!!

    quinta-feira, 29 de setembro de 2011 21:18

Todas as Respostas

  • Boa noite DaviSaba,

    Aparentemente deveria funcionar, um ponto a se verificar é se o full text terminou o processo. A tabela é muito grande? Pode ser que o processo de full population ainda não completou e por isso a busca não funciona.

    Qual versão do SQL você está usando?

    Abraço

    Ronaldo Conde


    Visite e venha contribuir... http://ronaldoconde.wordpress.com/
    sexta-feira, 30 de setembro de 2011 01:35
  • Boa noite DaviSaba,

    O seu problema se encontra no StopList. Por default ele usa system. 

    Vá nas propriedades do Full Text e mude o StopList para OFF.

    Você pode também customizar o StopList.

    Mais informações sobre Stoplist: http://msdn.microsoft.com/en-us/library/ms142551.aspx


    Abraço Ronaldo Conde Visite e venha contribuir... http://ronaldoconde.wordpress.com/

    • Editado Ronaldo R Conde sexta-feira, 30 de setembro de 2011 03:16
    • Sugerido como Resposta Junior Galvão - MVPMVP sábado, 1 de outubro de 2011 18:54
    • Não Sugerido como Resposta DaviSaba segunda-feira, 9 de janeiro de 2012 11:06
    • Sugerido como Resposta Antero Marques segunda-feira, 9 de janeiro de 2012 11:44
    sexta-feira, 30 de setembro de 2011 02:23
  • Ronaldo, eu testei aqui e nao funcionou. Vou verificar o link para ver se descubro mais alguma coisa.
    • Editado DaviSaba segunda-feira, 9 de janeiro de 2012 11:11
    segunda-feira, 9 de janeiro de 2012 11:06
  • Ronaldo,

    tentei criar um ambiente parecido com o seu aqui e obtive resultados positivos.

     

     

    create table VwGC320_Conteudo_Publicado(Id int identity(1,1) primary key, teste varchar(max))
    
    insert into VwGC320_Conteudo_Publicado 
    select 'A corrupção empobrece o Brasil, estamos trabalhando'
    
    CREATE FULLTEXT CATALOG DLOGIT;
    
    CREATE FULLTEXT INDEX ON VwGC320_Conteudo_Publicado
    (
        teste                      
            Language 1046                
    )
    KEY INDEX PK__VwGC320___3214EC073A81B327 ON DLOGIT
    WITH CHANGE_TRACKING AUTO            
    GO
    
    ALTER FULLTEXT INDEX ON VwGC320_Conteudo_Publicado SET STOPLIST OFF
    
    SELECT * FROM dbo.VwGC320_Conteudo_Publicado WHERE CONTAINS(*, '"Trabalhando"')
    SELECT * FROM dbo.VwGC320_Conteudo_Publicado WHERE CONTAINS(*, '"corrupção"')
    SELECT * FROM dbo.VwGC320_Conteudo_Publicado WHERE CONTAINS(*, '"estamos"')
    

     

    Algo de diferente ?

    Qual sua versão do SQL Server ?

     

     


    segunda-feira, 9 de janeiro de 2012 13:08