If you read through the user notes on boolean full text search you will see an explanation for this
"Posted by Joe Laffey on January 5 2005 5:30pm [Delete] [Edit]
In response to the note above Posted by Adam George on December 13 2004 7:32pm:
In my tests it would seem that the score returned is an integer equal to the number of words matched. So if you match on 3 words the scores will range from 1 to 3. If you match only on one word, or only one word is matched in any document, then the scores would all be 1."
There is also the following post
"Posted by Richard on February 23 2005 8:11pm [Delete] [Edit]
In response to Joe Laffey and Adam George:
To enhance sorting of the results in boolean mode you can do the following:
SELECT id, text, MATCH (text) AGAINST ('word1 word2 word3')
AS score FROM table1
WHERE MATCH (text) AGAINST ('+word1 +word2 +word3' in boolean mode) order by score desc;
Using the first MATCH() we get the score in non-boolean search mode (more distinctive). The second MATCH() ensures we really get back only the results we want (with all 3 words). If you want to do 'any of the words' search only, it's better to use non-boolean search instead (unless you are using boolean in order to get rid of 50% treshold limit)."
Hope that answers your question. 🆒