[ Mr. Bond @ 11.07.2011. 11:30 ] @
Cao ljudi. Radim odrzavanje jednog sajta i dok se broj post-ova drzao na niskoj cifri obican fulltext je zavrsavao posao. Medjutim sada mi klijent trazi da radimo i full text i like pretragu (nije on to tako rekao al ja kapiram da mora neka kombinacija da ide posto je rekao "treba mi i parcijalna pretraga, dakle kad ukucam kuc da mi izbaci rezultat kuca"). E sad posto je broj rekorda koji se pretrazuju porastao visestruko a pretraga se radi po 5 kolona (4 kolone su tipa text, fulltext indeksirane i to su opisi posta, a 5-a je kolona koja cuva naziv posta) interesuje me da li imate neki algoritam da preporucite koji bi uspesno povezao ove dve stvari?

Dakle da brzina ostane priblizno kao dok se radio samo fulltext a da u rezultatima imam sto vise onih koje bi vratio i "like"?

Nadam se da sam bio jasan, ako je bilo sta nejasno pitajte rado cu objasniti.
[ bogdan.kecman @ 11.07.2011. 11:44 ] @
ako hoce parcijalno to znaci da ces imati like uslov koji pocinje procentom - to znaci FULL TABLE SCAN a ti dalje znas i sam sta to znaci .. (zaboden server) ..

ili pravi svoj sistem za indexiranje, da kazemo npr, "postova" (pravis recnnik tabelu i pravis recnik_post). Tabela sa recnikom ce biti drasticno manja od tabele sa, je li, "postovima" a i posto ces je "cesto" koristiti bice iskesirana uglavnom tako da full table scan kroz nju ne mora da bude zastrasujuce spor. Iz nje izvadis tvoj like %xx% reci koje te zanimaju, tj njihove id-eve i onda iz indexirane int-int tabele recnik_post izvadis sve post_id koji te zanimaju ... to ti je najjednostavniji a poprilicno efektan sistem .. insertovanje postova ce malo da traje posto moras svaki da "indexiras" no to nije preterano strasno, posebno ako je fora da vatas samo pocetakreci% a ne i %krajreci onda cak neces imati ni full tekst nad tom tabelom .. a i mozes da skratis max duzinu reci na 10 karaktera na primer (ako to radis obavezno stavi da je tabela char(10) a ne varchar(10) )

druga varijanta ti je da iskoristis neki drugi externi indexer tipa lucene, sphinx etc etc vidi samo kako se oni ponasaju vezano za te delove reci ...

u svakom slucaju ne gine ti programiranje..