Hibernate Search配置及簡單應用

2021-08-31 20:17:29 字數 1869 閱讀 3773

hibernate search是一款整合apache lucene的搜尋jar包。

一。配置

org.hibernate

hibernate-core

$ org.hibernate

hibernate-entitymanager

$ org.hibernate

hibernate-search

$ org.hibernate

hibernate-search-analyzers

$

其中的hibernate.version為4.0.0.cr1。如果hibernate-core的版本過低會導致hibernate-search無法應用,所以在使用之前請謹慎考慮。

在hibernate.cfg.xml中新增如下設定

filesystem

/lucene/indexes

第乙個屬性表示將使用檔案系統作為為預設的目錄提供者,第二個屬性表示儲存目錄。

如果想對某個實體進行索引,那麼需要在該實體上加上@indexed注釋,對於該實體的識別符號上加上@documentid注釋,並且在你想要進行索引的屬性上加上@field(index = index.yes, analyze = analyze.yes, store = store.yes)注釋,其中注釋中的設定根據具體需求而定,以後會講解到這些屬性的意義和作用。

二。建立索引

這裡以person為例,對其中的name屬性建立索引,建立索引的**如下:

sessionfactory sessionfactory = new configuration().configure().buildsessionfactory();

session session = sessionfactory.opensession();

fulltextsession fulltextsession = search.getfulltextsession(session);

fulltextsession.createindexer(person.class).startandwait();

三。搜尋

sessionfactory sessionfactory = new configuration().configure().buildsessionfactory();

session session = sessionfactory.opensession();

fulltextsession fulltextsession = search.getfulltextsession(session);

transaction transaction = fulltextsession.begintransaction();

searchfactory searchfactory = fulltextsession.getsearchfactory();

querybuilder querybuilder = searchfactory.buildquerybuilder().forentity(person.class).get();

query query = querybuilder.keyword().onfield("name").matching("zhong").createquery();

fulltextquery fulltextquery = fulltextsession.createfulltextquery(query, person.class);

listlist = fulltextquery.list();

transaction.commit();

session.close();

先將該專案上傳以供參考。

CloudFoundry環境搭建及簡單應用部署

官網 官方指導 首先,需要乙個cloudfoundry賬號。然後,在電腦上安裝所需的軟體環境。如果喜歡使用圖形化的安裝cloud foundry integration extension for eclipse or sts 如果喜歡使用命令列的選擇安裝vmc。安裝cloud foundry in...

BroadcastReceiver簡單應用例項

broadcastreceiver是android四大元件之一,主要用於接收廣播,它的簡單實現方法如下 1 定義繼承broadcastreceiver的myreceiver類 created by haoye on 2016 3 7.public class myreceiver extends b...

CLion安裝及簡單配置

工欲善其事,必先利其器 clion是jetbrains開發的現代ide,旨在各種平台上執行c和c 它提供了智慧型的 輔助支援,因此可以主要重點放在重要的事情上。優點 易於啟動新專案 智慧型 完成 簡易除錯 智慧型 分析 內建工具。相比於visual studio,clion需要手動配置工具鏈來支援檔...