Programeri.com

Programeski Web Blog

Google “keyword” Search

juli14

Dali ste ikada zeljeli da imate “google” search na vasoj stranici u vasoj bazi podataka? Naravno, bez explode(” “, $text) i onda WHERE moj_text IN ($text), vec bas tekst koji trazite onako kako ste ga napisali. Fulltext opcija u MySQL and SQLlight vam pruza ovu mogucnost. U MySQL, na primjer, kada pravite definicije od table, jedna od opcija ce da bude fulltext.

CREATE TABLE `moji_text` (
  `id` int(11) NOT NULL auto_increment,
  `moj_text` text character set utf8,
  PRIMARY KEY  (`id`),
  FULLTEXT KEY `moj_text` (`moj_text`)
)

Znaci, sada imamo field moj_text koji radi kao fulltext. Jedino sto je preostalo je napraviti select query.

SELECT *
  MATCH(moj_tex)
AGAINST ('".trim($trazilica)."' IN BOOLEAN MODE) AS score
FROM
  moj_text
WHERE
  MATCH(sp.PHRASE)
AGAINST ('".trim($trazilica)."' IN BOOLEAN MODE)

$trazilica u ovom slucaju je text koji zelite da nadjete. Znaci bilo sta “Programeri su najbolji” na primjer; Ovaj select statement ce da vrati score kao jedan od rezultata. Sto znaci ako imate tekst u bazi podataka koji ima rijec najbolji na kraju a Programeri na pocetku i imate drugi text gdje imate Programeri i najbolji blizi jedno drugom, drugi text ce imati jedan dok ce prvi text imati dva.

To je to, postavite pitanja ako zelite malo vise detalja.

posted under Ostalo

Morate biti upisani da bit postavili komentar.

 

Log in to post a comment.