Imam veliku bazu sa recenicama koje sam izvukao iz wikipedije i jos nekih drugih knjiga na eng , imam i filtrirane odredene fraze u drugoj tablici…
Sad bi trebao ovih 500k fraza provci kroz popis recenica i izbaciti koliko ih je za pojedinu frazu (da imaju podudaranje), i isto tako njihov ID spremiti u novu tablicu jer bi na taj nacin kasnije radio brze ispis pretrage po tekstu.
Je li to dobar primjer, ili da uvedem dodatne kolone poput duzine fraze pa da na temelju toga izbacujem vani ubrzane pretrage?
Isto tako full-text search mi izbacuje za fraze od 3 rijeci popuno druge gluposti u vrhu od onih koje su totalni match. S ovim sto sam ja pokusao upit mi je po 7s, po frazi sto je neprihvatljivo.
Volio bi s kad bi mi netko pomogao oko ovih velikih baza, njihovim pretragama, i brzoj obradi jer muku mucim s istima, optimizacija upita mi nije najjaca strana, a voljan sam i platiti ispomoc.
Trenutno ove obrade vrtim doma na racunalu, i bilo bi super kad bi mogao to izvrtiti kod sebe prije nego dignem na neki VPS ili mozda nesto jace. Zato zelim to izvrtiti kod sebe i optimizirati upite zbog kasnije eventualne gnjavaze i ispravaka, a samim time i gusenja servera.
Jer prolaziti kroz 10ak gb teksta samo da izbacim par stvari nije dobro rjesjenje.
Jednostavno sam zapeo vec 2 dana na ovome i ne znam kako dalje…
Znaci trebao bi se prebaciti s text na varchar, sto mi odgovara jer nemam puno recenica od 256 i vise znakova (nisu uniq). Sto ako koristim InnoDB i utf8_bin buduci da imam charactera izvan A-za-z0-9, pitam zbog slijedeceg?
“Note that the maximum value of the key size depends on the column charset. It’s 767 characters for a single-byte charset like LATIN1 and only 255 characters for UTF8 ( MySQL only uses BMP which requires at most 3 bytes per character)”
Zbunio me je error " #1170 - BLOB/TEXT column 'text' used in key specification without a key length".
Jedino nisam imao definiranu duzinu text kolumne, ovo postoji u bazi od prije, morat cu malo bolje proci docs, nisam bas najbolje ulovio gdje tocno grijesim…