You're not adding a disjunction. You're adding N disjunctions containing only one restriction each. The code should be:
DetachedCriteria detachedCriteria = DetachedCriteria.forClass(ForumQuestion.class);
Disjunction disjunction = Restrictions.disjunction();
for (String searchUnitString : searchSet) {
disjunction.add(Restrictions.ilike("forumQuestion", "%"+searchUnitString+"%"));
}
detachedCriteria.add(disjunction);
return template.findByCriteria(detachedCriteria);
Note that unless you have few questions in your forum, these searches will be slow. SQL queries are not the best way to handle full text search. I would look at Lucene (that Hibernate Search uses, BTW) for such a task.