Chcete-li zlepšit řazení výsledků v booleovském režimu, můžete použít následující:
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;
Pomocí prvního MATCH()
skóre získáme v nelogickém režimu vyhledávání (výraznější) . Druhé MATCH()
zajišťuje, že se nám skutečně vrátí pouze výsledky, které chceme (se všemi 3 slovy) .
Váš dotaz tedy bude:
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;
Doufejme; nyní dosáhnete lepších výsledků.
Jestli to funguje nebo nefunguje; dejte mi prosím vědět.