'Full Text Search - Not listing by records with the highest number of search terms

When using the Full Text Search, I am not understanding the score given to the first records.

I search for the word "butter" and get a higher Full Text Search score for the lines with the content:

[score] - content

  1. [0.36537662148475647] - Another Butter wordtest Another example Butter word Another example with Butter word

  2. [0.36452728509902954] - Popcorn Popz Butter 270 g Popcorn Popz Butter 270 g Popcorn Popz Butter 270 g Words example random test

  3. [0.3440600335597992] - Content with Butter word Content with Butter word Content with Butter word Butter Butter Butter

According to Full Text Search rules, shouldn't the records with the highest number of times of the word "butter" in the content appear first? Is there another rule that might explain what is happening?

My query:

SELECT
   SQL_CALC_FOUND_ROWS MATCH (content) AGAINST('+Butter') as score,
   content
FROM
   teste
WHERE
   MATCH (content) AGAINST('+Butter' IN BOOLEAN MODE)
ORDER BY
   score DESC

Thanks!



Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source