SQL MATCH AGAINST
'apple*'
Find rows that contain words such as “apple”, “apples”, “applesauce”, or “applet”.

nu zoek ik naar een manier om woorden te zoeken als aardappel als ik zoek op appel, dus ik dacht '*appel' maar dat bleek mooi niet te werken, bij LIKE kun je %LIKE% doen, maar hoe zit dan dan bij Match?
Zover ik weet en ik het gebruik is dat niet mogelijk. Ik heb nog even de MySQL reference erbij gepakt maar kon daarin ook niet vinden hoe ze zoeken met een wildcard zoals je bij LIKE gebruikt.

Wat een oplossing zou zijn, mocht met met een fulltext index search niet werken, is het gebruikmaken van tags zoals Youtube en Hyves doen bijvoorbeeld.
IN scripts zie ik nog wel eens

Twee maal match() gebruiken, een om de ‘score’ (relevantie) te bepalen, en de andere voor het zoeken.
-> SELECT id, content, MATCH (titel,content) AGAINST ('MySQL geinstalleerd, start als root.') AS score FROM artikelen WHERE MATCH (titel,content) AGAINST('MySQL geinstalleerd, start als root.')

en dan in de tabel"
ID Content Score
3 1. Start mysql nooit als root... 2.6992766789014
4 Als je mysql goed hebt geinstalleerd.. 1.3366307144826

Die hebben een score met zesentwintig getalletjes erachter, maar als ik mijn score op deze manier ophaal dan staat er in die score alleen het aantal keer dat het woord is gevonden. hoe zit dit dan?
Heb je ook gekeken naar de verschillende MySQL versies? Misschien dat dit mede bepaalt wat de uitkomst is van de query.
Client API version 5.0.22 MySql

op webserver trouwens hetzelfde probleem, daar draait een iets oudere versie van mysql. zal anders wel zoeken welke.
Client API version 4.1.20 Mysql
als ik het goed heb wordt %LIKE% *Like*
Maar is het dan normaal dat een relevantie 1 of 0 is, of hoort dat een komma getal te zijn?

Reageren