Novo

Forum kao aplikacija na telefonu

Dodajte forum na početni ekran i koristite ga kao aplikaciju, sa menijem na dnu ekrana.

  • 6 odgovora
  • 3.121 pregleda

Najnovija ↓

Pretraga baze za svaku rec iz stringa??? 20.07.2009. u 08:57 · pre 210 meseci #1
pozz
ima polje u bazi sa naslovima vesti

tabela vesti
polje naslov
———————————————————————————————
Poskupljenje hleba za 30% !!!
Cena benzina duplirana u odnosu na proslu godinu!
Kolika je cena istine??
———————————————————————————————

u polje za pretragu je recimo uneto sledece : cena hleba
Potrebno mi je da izvrsim pretragu za svaku rec posebno, dakle u ovom slucaju bi trebalo da se prikazu sva tri zapisa iz baze

pokusao sam na sledeci nacin(podelim trazeni tekst na reci i napravim upit)
SELECT * FROM vesti WHERE naslov LIKE %cena% OR naslov LIKE %hleba%
sve radi kada je jedna rec u pitanju, cim ukucam dve ili vise ne dobija inakav rezultat iako su sve reci sadrzane(po na osob) u nekom od zapisa...

ako moze pomoc :)
Hvala!
Re: Pretraga baze za svaku rec iz stringa??? 20.07.2009. u 10:47 · pre 210 meseci #3
Citat:
bogdan.kecman: ako je tabela MyISAM onda mozes da radis full text search:

http://dev.mysql.com/doc/refman/5.1/en/fulltext-search.html

ako nije onda si nadrljao


hmm... kako da znam da li je

server je
# Server version: 5.0.81-community
# Protocol version: 10
# Server: Localhost via UNIX socket

i moze li mala pomoc u vezu fulltext, malo mi je ovo zurno :) ako ne, onda se moram baciti na proucavanje :)
Re: Pretraga baze za svaku rec iz stringa??? 20.07.2009. u 10:53 · pre 210 meseci #4
sto se engine-a tice

Code:

SHOW CREATE TABLE vesti\G


i videces na kraju "engine=..." tu ce da pise MyISAM ili InnoDB ili ..

isto tako mozes i sa

Code:

show table status like '%vesti%';


pa vidis u koloni engine sta pise ..

mozes da promenis (ako ti je dozvoljeno) engine za tu tabelu u myisam (obrati paznju onda vise nije transaction safe, crash safe, ne rade strani kljucevi, ne rade constraintsi ... ali - radi fulltext i nesto je brze od innodb-a) sa:

Code:

ALTER TABLE vesti ENGINE=myisam;


Potpis
arhimed
http://www.mysql.rs/ | http://elco.crsndoo.com/
Re: Pretraga baze za svaku rec iz stringa??? 20.07.2009. u 11:08 · pre 210 meseci #5
sto se tice full text search-a .. moras na kolonu/kolone koje pretrazujes da dodas fulltextsearch index ...

evo ti primer, posto ne znam kako tvoja tabela izgleda evo ti neka "bezvezna":

napravis tabelu i napuinis glupostima
Code:

mysql> create table t1 (id int auto_increment primary key, vest text) engine=myisam;
Query OK, 0 rows affected (0.05 sec)

mysql> insert into t1 (vest) values ('evo ti primer, posto ne znam kako tvoja tabela izgleda evo ti neka');
Query OK, 1 row affected (0.00 sec)

mysql> insert into t1 (vest) values ('mozes da promenis (ako ti je dozvoljeno) engine za tu tabelu u myisam (obrati paznju onda vise nije transaction safe, crash safe, ne rade strani kljucevi, ne rade constraintsi ... ali - radi fulltext i nesto');
Query OK, 1 row affected (0.00 sec)



dodas full text index na polje vest

Code:

mysql> alter table t1 ADD FULLTEXT (vest);
Query OK, 9 rows affected (0.05 sec)
Records: 9  Duplicates: 0  Warnings: 0



i sad nesto pitas:
Code:

SELECT *, MATCH (vest) AGAINST ('transaction dozvoljeno') AS score FROM t1 WHERE MATCH (vest) AGAINST ('transaction dozvoljeno');


Potpis
arhimed
http://www.mysql.rs/ | http://elco.crsndoo.com/
Re: Pretraga baze za svaku rec iz stringa??? 20.07.2009. u 11:13 · pre 210 meseci #6
obrati paznju da se reci ispod 4 slova ne indexiraju i da se "stop words" ne indexiraju ... default stop words mozes da vidis ovde:
http://dev.mysql.com/doc/refman/5.1/en/fulltext-stopwords.html
Potpis
arhimed
http://www.mysql.rs/ | http://elco.crsndoo.com/
Re: Pretraga baze za svaku rec iz stringa??? 20.07.2009. u 16:36 · pre 210 meseci
izmenjeno 1 put, poslednji put manix 21.07.2009. u 02:15
  1. manix21.07.2009. u 02:15zapis iz teksta poruke
#7
WOW :) hvala puno!!!

Sasvim je dovoljno ovo,kljucne stvari na koje treba obratiti paznju.
U medjuvremenu sam proverio i u pitanju je MyISAM :) tako da idem da pravim.

Jos jedno hvala puno na detaljnom odgovoru i pomoci!
Prijavite se da biste odgovorili u ovoj temi.PrijavaRegistracija

Premeštanje teme