PHP.EE FOORUM   
Nimi:   Pass:   Mäleta mind! 
   Teemad | php.ee esilehele | registreeri | Märgi kõik teemad loetuks | #php.ee Skype vestlus | RSS
UUS TEEMA  OTSI  Lehekülgi: 1
mysql otsinguvihjed
Postitaja: moosionu 2011-06-17 10:48:25
Mul oleks vaja JqueryUI autocomplete jaoks välja pakkuda vihjesõnu - st kui näiteks sisestatakse 'auto', siis otsing leiaks andmebaasist tulemused kujul:
'auto' - 12000 tulemust
'automaat' - 1234 tulemust
'leivaauto' - 13 tulemust
jne

Ma tean kuidas leida tulemuste kogu arvu:
SELECT COUNT(*) FROM tabel WHERE nimi LIKE '%auto%'

Aga kuidas ma leiaks kõik 'auto' erinevad vormid tabelist koos leitud vastete arvuga?

Proovisin LOCATE ja SUBSTRING abil, aga siis tuleb arvestada ka seda kas 'auto' asub nime alguses, keskel või lõpus... veelgi tobedamaks läheb päring mitme otsingusõna korral.

Tänud, kes suuna kätte näitaks.
RE: mysql otsinguvihjed
Postitaja: xxaa 2011-06-17 11:16:56
select nimi, count(nimi) from tabel where nimi like '%otsisõna%' group by nimi

midagi sellist äkki?
RE: mysql otsinguvihjed
Postitaja: moosionu 2011-06-17 11:29:02
TSITEERITUD:
select nimi, count(nimi) from tabel where nimi like '%otsisõna%' group by nimi

midagi sellist äkki?


See toimiks siis, kui oleks tegemist märksõnade tabeliga, kus väljal 'nimi' ongi KOGU sobiv otsinguvihje ehk märksõna või kui ma parsiks sealt omakorda PHP abil sobivad otsingusõnad välja. Mul aga on sellel väljal pikk tekst, millest ma tahan välja võtta ainult otsingut sisaldava sõna. Ja tabelis on liiga palju ridu, et tulemusi PHP abil töödelda ja siis erinevate vihjete esinemise summad leida - st "GROUP BY nimi" ei anna antud juhul mingi efekti.
RE: mysql otsinguvihjed
Postitaja: xxaa 2011-06-17 14:34:06
AA, ok, lugesin lohakalt, Sa tahad saada kätte otsisõna esinemiste arvu väljas.

Vaata sinna: http://www.thingy-ma-jig.co.uk/blog/17-02-2010/mysql-count-o

ja siis SUM'id kokku need.

Aga see läheb Sul suurte tabelite korral väga aeglaseks ja peaksid mõtlema, kas teha mingeid vahetabeleid või kasutada NoSQL vahendeid.

Leheküljed: 1

©2002-2013 Martin Rebane & PHP.ee kaasautorid
  0.0883541107178