Searching a text with space in mySql match against Query
FULLTEXT needs space to be space, not a "letter".  That is, you cannot have spaces in a "word".

I would write application code to ignore 'short' words (such as 'g') and end up with

WHERE MATCH(alternate_name, product_desc, keywords)
        AGAINST ('+moto +plus'; IN BOOLEAN MODE)
  AND ( alternate_name LIKE '%moto g plus%'
     OR product_desc   LIKE '%moto g plus%'
     OR keywords       LIKE '%moto g plus%' )


That would be efficient because the MATCH happens first, thereby limiting the number of rows significantly.  Then the costly OR and LIKE does not have to touch many rows.

(I left off the 'mobiles' for this discussion.)