Per migliorare l'ordinamento dei risultati in modalità booleana, puoi utilizzare quanto segue:
SELECT column_names, MATCH (text) AGAINST ('word1 word2 word3')
AS col1 FROM table1
WHERE MATCH (text) AGAINST ('+word1 +word2 +word3' in boolean mode)
order by col1 desc;
Utilizzando il primo MATCH()
otteniamo il punteggio in modalità di ricerca non booleana (più distintiva) . Il secondo MATCH()
assicura che otteniamo davvero solo i risultati che desideriamo (con tutte e 3 le parole) .
Quindi la tua richiesta diventerà:
SELECT *, MATCH (artist, title) AGAINST ('paul van dyk')
AS score FROM tracks
WHERE MATCH (artist, title)
AGAINST ('+paul +van +dyk' in boolean mode)
order by score desc;
Auspicabilmente; ora otterrai risultati migliori.
Se funziona o non funziona; per favore fatemi sapere.