A short in the WHERE * clause can interfere with any match count greater than 1 if you use OR.
How about saving the hit list in a table variable and then counting the hits,
DECLARE @MATCH TABLE (SCORE INT, TOKEN VARCHAR(16))
INSERT @MATCH
SELECT 1, 'VALUE'
UNION SELECT 1, 'SQL'
UNION SELECT 1, 'CAKE'
SELECT
[TITLE], SUM(M.SCORE)
FROM
[M_TIPS] T INNER JOIN @MATCH M ON T.[TITLE] LIKE '%' + M.TOKEN + '%'
GROUP BY T.[TITLE]
==
sql 1
value 1
xx sql value xx 2
source
share