I have the following query:
SELECT * FROM table_name WHERE (col_1 LIKE \'%$keyword%\' OR col_2 LIKE \'%$keyword%\' OR col_3 LIKE \'%$keyword%\') AN
You can't. You're asking your RDBMS to sort results by rows with the most "LIKE" column matches descending.
MySQL, for instance, does this with what's called a FULLTEXT index.