would it be possible in postgres to get a count of sql hits on a select statement
Yes, you can use this in the select list:

 (case when tags ilike '%-1-%' then 1 else 0 end) 
 + (case when tags ilike '%-3-%' then 1 else 0 end) 
   as hits 


or alternatively (convert the boolean values to integers (TRUE -&gt; 1, FALSE -&gt; 0) and then add:

 (tags ilike '%-1-%')::int + (tags ilike '%-3-%')::int
   as hits 


But the query (and many others) would be much easier if you normalized the design and store the item-tag relationship in a separate, junction table.