За да подобрите сортирането на резултатите в булев режим, можете да използвате следното:
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;
Използване на първия MATCH()
получаваме резултата в небулев режим на търсене (по-отличителен) . Втората MATCH()
гарантира, че наистина получаваме само резултатите, които искаме (с всичките 3 думи) .
Така вашата заявка ще бъде:
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;
Да се надяваме; сега ще получите по-добри резултати.
Ако работи или не работи; моля, уведомете ме.