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?
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.
Zover ik weet en ik het gebruik is dat niet mogelijk. Ik heb nog even de 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.
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.
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
Gewijzigd op 01/01/1970 01:00:00 door Guido van C
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?