The search operator can be refined by field name. So I assume that the most optimized filters for your queries would work like:
[search:title[foo]search:text[catdog]]
and
[search:title[foo]] [search:title[bar]] +[search:text[catdog]search:text[spongebob]]
-- Mark