För att förbättra sorteringen av resultaten i booleskt läge kan du använda följande:
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;
Använda första MATCH()
vi får poängen i icke-booleskt sökläge (mer distinkt) . Den andra MATCH()
försäkrar att vi verkligen bara får tillbaka de resultat vi vill ha (med alla tre orden) .
Så din fråga blir:
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;
Förhoppningsvis; du kommer att få bättre resultat nu.
Om det fungerar eller inte fungerar; vänligen meddela mig.