2008. február 20., szerda

Keresés MySQL adatbázisban - ékezetek és html tag-ek, mint zavarótényezők..

Az alap probléma az, hogy a CMS részeként, a megrendelő adminisztrációs felületen, bármilyen tartalmat feltölthet, mivel már ott tart a webes technika ugye, hogy a laikusok kezébe adjuk a wysiwyg editort1, amivel mintha csak word-ben kalimpálna, klikkelgetős módszerrel formázhatja a szöveget, szúrhat be képet stb. stb...

Ezenkívül magyarok vagyunk, használunk sok szép ékezetet, amiket a MySQL még mindig nem tud túl jól megkülönböztetni. Ezen okokból kifolyólag, mikor az alap keresési módszert használnánk (SELECT content FROM table WHERE content LIKE '%valami%'), akkor számolnunk kell azzal, hogy a "tárogat" és a "tartalom" egyaránt meg fog jelenni, ha pl. a felhasználó arra keresett rá, hogy "tár".

Ez még mindig nem minden, hiszen a wysiwyg editornak köszönhetően, a content tele lesz html kóddal is, így aztán a találatok között lehet olyan content is, melyben nem szerepel ugyan valós tartalomként a "tár", sem pedig a "tar", de lehet, hogy egy link tartalmaz "target" definíciót is. Ez aztán végképp nem kell nekünk mint találat.

1 pl.: tinyMCE