Все, разобрался сам, 3 часа курения доков и вот кривой результат, но работает довольно шустро:
(SELECT `id`,`tag`,`name`,`html`,`img`, '1' as `type`, `category`, (IF (tb_table1.name LIKE '%Бао лала%', 2, 0) + IF (tb_table1.name LIKE '%Бао%', 1, 0) + IF (tb_table1.name LIKE '%лала%', 1, 0)) AS points FROM tb_table1)
UNION
(SELECT `id`,`tag`,`name`,`html`,`img`, '2' as `type`, `category`, (IF (tb_table2.name LIKE '%Бао лала%', 2, 0) + IF (tb_table2.name LIKE '%Бао%', 1, 0) + IF (tb_table2.name LIKE '%лала%', 1, 0)) AS points FROM tb_table2)
UNION
(SELECT `id`,`tag`,`name`,`html`,`img`, '3' as `type`, '0' as `category`, (IF (tb_table3.name LIKE '%Бао лала%', 2, 0) + IF (tb_table3.name LIKE '%Бао%', 1, 0) + IF (tb_table3.name LIKE '%лала%', 1, 0)) AS points FROM tb_table3)
UNION
(SELECT `id`,`tag`,`name`,`html`,`img`, '4' as `type`, '0' as `category`, (IF (tb_table4.name LIKE '%Бао лала%', 2, 0) + IF (tb_table4.name LIKE '%Бао%', 1, 0) + IF (tb_table4.name LIKE '%лала%', 1, 0)) AS points FROM tb_table4)
ORDER BY points DESC LIMIT 20