Aloha =)
Zur Zeit sitze ich an der Suchfunktion für einen Webshop. In der MySQL-Datenbank (utf8) gibts es in einer Tabelle die Spalte 'src_searchkey', in der einige Worte (durch Leerzeichen getrennt) sind, die den jeweiligen Artikel beschreiben (in meinem Falle: Kunstdrucke).
Nun gibt ein User in der Motivsuche z.B. 'küste' ein. Suchergebnisse: 0, obwohl mehr als 20 Bilder mit dem Wort versehen wurden.
Der SQL-Query ist:
Ich hab schon vieles versucht, es utf8-en- und -decoded, escaped, alles ganz weggenommen. Er will bei 'küste' einfach nichts finden.
Die Mindestwortlänge steht auf 3 (Standard).
Bei 'berühmt' findet er hingegen alle mit dem Wort verschlagworteten Bilder, und dazu noch Bilder, die mit 'berührung'. Nicht ganz 'working as intended'.
Ich muss aber weiterhin die 'match-against' nutzen, da ich das 'ranking' brauche.
MySQL Client-Version: 4.0.18
PHP-Version: 4.2
Hat jemand eine Idee, in welche Richtung ich forschen muss, um das zu lösen?
Herr Google konnte mir bisher wenig hilfreiches ausspucken, die meisten Seiten zu dem Thema befassen sich mehr damit, dass andere vergessen haben, die zu durchsuchenden Seiten als Fulltext zu definieren -.-;
Liebe Grüße,
~ Patricia ~
P.S. Ich hoffe, dies ist der richtige Themenbereich für diese Frage. So wie es mir scheint, ist dies aber eher ein MySql-, denn ein PHP-bezogenes Problem. Ich lass mich aber auch gern eines besseren belehren.
Zur Zeit sitze ich an der Suchfunktion für einen Webshop. In der MySQL-Datenbank (utf8) gibts es in einer Tabelle die Spalte 'src_searchkey', in der einige Worte (durch Leerzeichen getrennt) sind, die den jeweiligen Artikel beschreiben (in meinem Falle: Kunstdrucke).
Nun gibt ein User in der Motivsuche z.B. 'küste' ein. Suchergebnisse: 0, obwohl mehr als 20 Bilder mit dem Wort versehen wurden.
Der SQL-Query ist:
PHP-Code:
SELECT src_id, src_artid, src_mftid, src_searchkey
MATCH (src_searchkey, src_mftfullname) AGAINST ('küste') AS ranking
FROM cse_search
WHERE MATCH (src_searchkey, src_mftfullname) AGAINST ('küste')
ORDER BY ranking DESC LIMIT 0,100;
Ich hab schon vieles versucht, es utf8-en- und -decoded, escaped, alles ganz weggenommen. Er will bei 'küste' einfach nichts finden.
Die Mindestwortlänge steht auf 3 (Standard).
Bei 'berühmt' findet er hingegen alle mit dem Wort verschlagworteten Bilder, und dazu noch Bilder, die mit 'berührung'. Nicht ganz 'working as intended'.
Ich muss aber weiterhin die 'match-against' nutzen, da ich das 'ranking' brauche.
MySQL Client-Version: 4.0.18
PHP-Version: 4.2
Hat jemand eine Idee, in welche Richtung ich forschen muss, um das zu lösen?
Herr Google konnte mir bisher wenig hilfreiches ausspucken, die meisten Seiten zu dem Thema befassen sich mehr damit, dass andere vergessen haben, die zu durchsuchenden Seiten als Fulltext zu definieren -.-;
Liebe Grüße,
~ Patricia ~
P.S. Ich hoffe, dies ist der richtige Themenbereich für diese Frage. So wie es mir scheint, ist dies aber eher ein MySql-, denn ein PHP-bezogenes Problem. Ich lass mich aber auch gern eines besseren belehren.