Jump to content

Sistema de pesquisa


nuno_couto
 Share

Recommended Posts

nuno_couto

Num sistema de pesquisa de artigos, caso seja usado simplesmente o comando "LIKE", caso um escreva por exemplo "metallica", todos os produtos que contenham essa palavra no título vão surgir, mas se utilizar o termo "cd metallica", aí já só encontra os que tiverem especificamente o termlo como ele foi escrito e não as palavras cd + metallica.

Alguem tem um código que aconselhe para tornar as pesquisas eficazes?

portalmundial.net »» criamos sites

Link to comment
Share on other sites

Num sistema de pesquisa de artigos, caso seja usado simplesmente o comando "LIKE", caso um escreva por exemplo "metallica", todos os produtos que contenham essa palavra no título vão surgir, mas se utilizar o termo "cd metallica", aí já só encontra os que tiverem especificamente o termlo como ele foi escrito e não as palavras cd + metallica.

Alguem tem um código que aconselhe para tornar as pesquisas eficazes?

Devias reformular a tua pergunta, o que tu queres é saber explorar bases de dados e não fazer um sistema de pesquisa de artigos.

Existem várias fórmas de usar o like e existe outra funcionalidade disponível em vários SGBDs que te pode ajudar: "full text search".

Lê este tópico pois isso já aqui foi debatido: http://www.portugal-a-programar.pt/index.php?showtopic=2973

10 REM Generation 48K!
20 INPUT "URL:", A$
30 IF A$(1 TO 4) = "HTTP" THEN PRINT "400 Bad Request": GOTO 50
40 PRINT "404 Not Found"
50 PRINT "./M6 @ Portugal a Programar."

 

Link to comment
Share on other sites

nuno_couto

Já estive a ver esse tópico e há algo que pode interessar.

Se eu fizer a pesquisa com o comando LIKE %cd%metallica%, basicamente o sistema vai pesquisar todos os tópicos que contenham os termos cd e metallica em simultaneo certo?

Assim sendo, se um user pesquisar cd metallica, bastará transformar os espaços em "%" e depois fazer LIKE %$pesquisa% (o que resulta em LIKE %cd%metallica%)

Isto é correcto?

portalmundial.net »» criamos sites

Link to comment
Share on other sites

Já estive a ver esse tópico e há algo que pode interessar.

Se eu fizer a pesquisa com o comando LIKE %cd%metallica%, basicamente o sistema vai pesquisar todos os tópicos que contenham os termos cd e metallica em simultaneo certo?

Sim, mas apenas por essa ordem, ou seja, não apanha metallica e cd, apenas cd e metálica.

Assim sendo, se um user pesquisar cd metallica, bastará transformar os espaços em "%" e depois fazer LIKE %$pesquisa% (o que resulta em LIKE %cd%metallica%)

Isto é correcto?

Sim.

Mas tem atenção à ordem das palavras como referi acima.

10 REM Generation 48K!
20 INPUT "URL:", A$
30 IF A$(1 TO 4) = "HTTP" THEN PRINT "400 Bad Request": GOTO 50
40 PRINT "404 Not Found"
50 PRINT "./M6 @ Portugal a Programar."

 

Link to comment
Share on other sites

nuno_couto

E há algum comando para pesquisar independentemente da ordem? Ou seja, encontrar cd metallica ou metallica cd?

portalmundial.net »» criamos sites

Link to comment
Share on other sites

No pesquisador que eu criei quando a pessoa pesquisava por alguma coisa exemplo:  "tutorial de php" eu dividia a pesquisa em varias palavras nesse caso "tutorial" seria a palavra 1  "de"  seria a 2 (......) e depois aquilo pesquisava na mysql mais ou menos assim:

mysql_query("SELECT * FROM tabela WHERE pesquisa LIKE '%".$palavra[1]."%' OR LIKE '%".$palavra[2]."%' OR LIKE '%".$palavra[3]."%' ....");

Algo mais ou menos assim... Espero que te ajude!

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.