Mailinglisten-Archive |
Hallo, da es sich um ein kleines internes Projekt handelt, kann ich mich mit DER langsamen Lösung erst einmal zufrieden geben :). Irgendwie hatte ich zu kompliziert gedacht. Danke für den Anstoß :) BTW: Ich hatte sowas vor: select * from artikel where text like '%einfach%klein%test%'; Nun, danke für die Antworten :) Gruß, Daniel Lüdeking Yannik Hampe schrieb: > Norbert Pfeiffer wrote: > >> Hi Daniel, >> >> >>> Hat jemand eine Lösung dafür? >>> >> ja, >> z.B. ein einfaches MySQL-Select-Query >> >> SELECT ArtikelID, Bezeichnung, Beschreibung, Preis >> FROM meineArtikel >> WHERE '%Beschreibung%' IN ('einfach','klein','test'); >> > > Wenn das funktioniert wunder ich mich aber... > Ich schätze mal, du meintest eher: > SELECT ArtikelID, Bezeichnung, Beschreibung, Preis FROM meineArtikel > WHERE beschreibung LIKE 'einfach' > OR beschreibung LIKE 'klein' > OR beschreibung LIKE 'test' > > Aber das ist so ziemlich DIE langsamste Abfrage, die du MySQL überhaupt > erbringen lassen kannst. Deutlich schneller wäre: > > SELECT MATCH(spalte) AGAINST (text) AS relevanz FROM ... > > Also auf dein Beispiel: > SELECT ArtikelID, Bezeichnung, Beschreibung, Preis,MATCH(Beschreibung) > AGAINST ('einfach klein test') AS relevanz FROM meineArtikel WHERE > relevanz > 0.01 ORDER BY relevanz DESC > > Das setzt natürlich vorraus, dass du einen Fulltext-Index auf die Spalte > gesetzt hast. > Der Thread "Doppelte ähnliche Texte abfangen?" in der Mailingliste > könnte dich interessieren... > > Yannik > > >> m. b. G. Norbert >> > >
php::bar PHP Wiki - Listenarchive