Hibernate Search項(xiàng)目的Beta第二版剛剛發(fā)布。InfoQ為此采訪了Hibernate Search項(xiàng)目的發(fā)起人Emmanuel Bernard以了解更多細(xì)節(jié),Emmanuel同時(shí)也是相關(guān)項(xiàng)目Hibernate Annotations和Hibernate EntityManager的發(fā)起人。根據(jù)Emmanuel所言,Hibernate Search目的是幫助Hibernate的使用者或是Java Persistence API(JPA)的使用者可以通過全文搜索索引來訪問Hibernate或JPA管理的對(duì)象。Hibernate Search項(xiàng)目的主要特性包含以下幾個(gè)方面:
Lucene集成——作為強(qiáng)大高效的檢索引擎,Lucene的美名早已久經(jīng)考驗(yàn)了;
數(shù)據(jù)的自動(dòng)插入和更新——當(dāng)一個(gè)對(duì)象通過Hibernate添加或更新時(shí),索引也會(huì)相應(yīng)進(jìn)行透明的更新;
支持眾多復(fù)雜的搜索方式——可快速的使用通配符進(jìn)行搜索,以及多關(guān)鍵詞全文檢索(multi-word text searches)和近似或同義詞搜索(approximation/synonym searches),或根據(jù)相關(guān)性排列搜索結(jié)果;
搜索集群(Search Clustering)——Hibernate Search提供了內(nèi)建搜索集群解決方案,其中包括一個(gè)基于JMS的異步查詢和索引系統(tǒng);
對(duì)Lucene API接口的直接調(diào)用——如果用戶打算處理某些特別復(fù)雜的問題,可以在查詢中直接使用Lucene提供的API接口;
對(duì)Lucene的自動(dòng)管理——Hibernate Search可以管理并優(yōu)化Lucene的索引,并且非常高效地使用Lucene的API接口。
項(xiàng)目的主要目標(biāo)包含以下幾個(gè)方面:
易用性——和Hibernate的ORM映射一樣,Hibernate Search幫助用戶實(shí)現(xiàn)了業(yè)務(wù)90%的工作,并且使用戶專注于余下更為困難的業(yè)務(wù)實(shí)現(xiàn)部分;
和已有的Hibernate/JPA編程模型保持一致性——更輕松地集成Hibernate/JPA編程模型是“一開始就致力要實(shí)現(xiàn)的目標(biāo)”。
聯(lián)系客服