Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Naty_Lopes

[Resolvido] FTS com LINQ

Recommended Posts

Olá.

 

Estou usando a busca Full text search e agora preciso usar ela dentro do meu projeto, ou seja, qro usar no linq.

 

Não estou sabendo como utilizá-la.

 

Ex. de uma busca pelo sql

select * from Noticia where contains((Corpo, Titulo), 'Brasil')

 

Busca apenas notícias com a palavra Brasil e não com outras terminações(brasileiro, brasileira...)

 

É exatamente essa busca. Busca da palavra ou da frase digitada exata.

 

Preciso saber como fazer isso no linq. Projeto em C#.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Boa parte das pesquisas dizem para tu criar uma function e utiliza-la. Aparentemente é o mais fácil a fazer.

De uma olhada neste post também: http://sqlblogcasts.com/blogs/simons/archive/2008/12/18/LINQ-to-SQL---Enabling-Fulltext-searching.aspx

 

Abraços...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Consegui fazer \o/

 

É simples!!!! Fiz de acordo o quintelab falou.

 

Fiz a função

CREATE FUNCTION dbo.funcaoPesquisa 
(@keywords NVARCHAR(4000)) 
returns table
as
 return (select [KEY] as ID,[RANK], N.Titulo, N.Noticia, N.DataNoticia, N.Fonte
           from freetexttable(PlugNews_Noticia,*,@keywords) as CT
           inner join PlugNews_Noticia N on N.CodNoticia = CT.[KEY]
         ) 

 

Depois chamei ela no linq!!!!!! e Funfooo!!

 

Obs: Freetexttable é melhor que containstable(depende da necessidade). Freetexttable faz buscas parecidas com a do google, o usuário pode usar aspas duplas em palavras multiplas ou simplesmente jogá-las na pesquisa. Já a funcao containstable faz buscas mais especificas mas o usuário precisaria saber utilizar comandos como or/and.

 

Obrigada!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.