您好,登錄后才能下訂單哦!
這篇文章主要介紹了Hibernate Search全面概述,具有一定借鑒價(jià)值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。
Hibernate Search項(xiàng)目的Beta第二版發(fā)布的時(shí)候。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)”。
Emmanuel在實(shí)踐中給出了幾個(gè)具體的實(shí)例,包括:
◆通過轉(zhuǎn)換對(duì)象構(gòu)造的方式,HQL查詢語(yǔ)句可以被轉(zhuǎn)換為搜索查詢,“通常只是幾行代碼”——其他的因素(執(zhí)行查詢,結(jié)果格式等)都保持不變;
◆不需要啟動(dòng)過程,因?yàn)镠ibernate Search透明地利用了已有的Hibernate/JPA基礎(chǔ)架構(gòu);
◆最小配置集合要求至少在persistence.xml或者h(yuǎn)ibernate.cfg.xml中設(shè)置兩個(gè)屬性。
關(guān)于最終發(fā)布時(shí)間表,Emmanuel指出3.0版本發(fā)布之前將在查詢和索引***化方面做出大量的工作,他就此總結(jié)道:
Hibernate Search的核心代碼實(shí)際上是相當(dāng)穩(wěn)定的,發(fā)布版之所以仍標(biāo)記為Beta的原因是我們對(duì)拓展API接口還沒有充足的把握,Hibernate Search內(nèi)核相當(dāng)靈活,并且可以融入用戶自定制的搜索策略。到目前為止,代碼已經(jīng)相對(duì)穩(wěn)定,我們希望看到一個(gè)具備完善特性的產(chǎn)品,并保證API接口不會(huì)出現(xiàn)問題。
如同平常一樣,開源項(xiàng)目在編碼完成時(shí)發(fā)布,我所要說的就是這個(gè)夏天很長(zhǎng)并且我沒有安排什么額外的度假計(jì)劃 :)
關(guān)于Hibernate Search實(shí)現(xiàn)策略好處和不足的有趣爭(zhēng)論也隨之展開,Sanjiv Jivan就此描述了他眼中的Hibernate Search優(yōu)缺點(diǎn),隨后Emmanuel Bernard也回應(yīng)了Sanjiv的看法。那么,親愛的讀者,對(duì)于Hibernate Search,您的觀點(diǎn)又是如何呢?
感謝你能夠認(rèn)真閱讀完這篇文章,希望小編分享的“Hibernate Search全面概述”這篇文章對(duì)大家有幫助,同時(shí)也希望大家多多支持億速云,關(guān)注億速云行業(yè)資訊頻道,更多相關(guān)知識(shí)等著你來學(xué)習(xí)!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。