0
我想要搜索的內容在一個論壇上特別是論壇的問題Hibernate查詢要在論壇問題
例如搜索內容:
searchString = "Hibernate Session Configuration";
將給出問題的論壇相應的細節
但所有的單詞不必在論壇內容中連續,所以我將搜索字符串存儲在包含每個單詞的java.util.Set
中
String[] searchArray= searchString.toLowerCase().split(" ");
Set<String> searchSet = new HashSet<String>();
// searchSet contains words of searchString
for(String string : searchArray){
searchSet.add(string);
}
我寫Hibernate查詢,
DetachedCriteria detachedCriteria = DetachedCriteria.forClass(ForumQuestion.class);
for(String searchUnitString : searchSet)
{
detachedCriteria= detachedCriteria.add(Restrictions.disjunction().add(Restrictions.ilike("forumQuestion", "%"+searchUnitString+"%")));
}
return template.findByCriteria(detachedCriteria);
但此查詢工作不正常..它只是把最後Restrictions
忽略以前Restrictions
!
在這個例子中,將考慮只爲「%配置%」,但我需要的是「%休眠%」或「%會話%」或「%Configuratoin%」一起
注:如果我查詢每個單詞,那麼數據庫命中將會很高