国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

一個簡單的Lucene工具類

noONE / 1775人閱讀

摘要:一個簡單的工具類,通過注釋的方式來配置構建索引的字段。提供新建索引查找刪除更新方法,支持分頁。代碼地址所需包背景以前在做某個的時候,鑒于存儲在中的數據量過大,故使用來優化查找性能。那么這個工具類就比較適合這些場景了。

wsm-lucene

一個簡單的Lucene工具類,通過注釋的方式來配置構建索引的字段。提供新建索引、查找、刪除、更新方法,支持分頁。代碼地址:https://gitee.com/shaojiepeng...

所需jar包

lucene-core:2.4.0

lucene-analyzers:2.4.1

commons-logging:1.2

背景

以前在做某個feature的時候,鑒于存儲在DB中的數據量過大,故使用Lucene來優化查找性能。
相信大家在某些場景下會把DB中的數據讀出來,建索引來優化查找。那么這個工具類就比較適合這些場景了。

如何使用

從附件中下載jar包直接導入到項目中,或者下載此Maven項目的源碼,使用項目依賴的方式導入你的項目。

通過注釋的方式配置需要構建索引的model類

 **@IndexClass** :注釋,說明此model類需要構建索引
 **indexDirPath** :索引所存放的物理位置,如:"D:/Index"

 **@IndexField** :注釋,說明此字段需要構建索引
 **fieldStore** :Lucene中的Field.Store同義,不懂請自行查詢資料
 **fieldIndex** :Lucene中的Field.Index同義,不懂請自行查詢資料

創建索引

IndexService indexService = new IndexServiceImpl();
/** 構建索引的接口
 * List:model的集合
 * Class: model的class
 *
 * return boolean
**/
indexService.buildIndex(List, Class)

3.查找

ArrayList searchParams = new ArrayList<>();
/**添加查詢的條件,如果有多個查詢條件,則添加SearchParamModel
 * fieldName:需要查找的字段,即model中的成員變量
 * fieldValue:需要查找字段的值,這個不解釋
 * BooleanType:Lucene中BooleanClause.Occur值,不懂請自行查詢資料
**/
searchParams.add(new SearchParamModel(fieldName, fieldValue, BooleanType));
IndexService indexService = new IndexServiceImpl();
/** 查詢的接口
 * searchParams:不解釋
 * Class: model的class
 *
 * return model的集合
**/
List objs = indexService.search(searchParams, Class);

IndexService中還支持update, delete和分頁查找的方法,請自行查閱代碼。

覺得不錯,請點個贊吧。

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/70634.html

相關文章

  • Lucene就是這么容易

    摘要:就其本身而言,是當前以及最近幾年最受歡迎的免費信息檢索程序庫。這樣完全和數據庫進行了隔離。當一個文檔出現在了搜索結果中,這就意味著該文檔與用戶給定的查詢語句是相匹配的。 showImg(https://segmentfault.com/img/bVbuifx?w=258&h=258);公眾號閱讀https://mp.weixin.qq.com/s/M3... Lucene [TOC] ...

    894974231 評論0 收藏0
  • Lucene構建個人搜索引擎解析

    摘要:倒排索引是基于詞的搜索。關于倒排索引要學習搜索引擎,就需要了解倒排索引,要更加深刻地理解倒排索引,就要先了解什么是正排索引表。由于不是由記錄來確定屬性值,而是由屬性值來確定記錄的位置,因而稱為倒排索引。 Lucene是什么? Lucene是apache軟件基金會4 jakarta項目組的一個子項目,是一個開放源代碼的全文檢索引擎工具包,但它不是一個完整的全文檢索引擎,而是一個全文檢索引...

    wenshi11019 評論0 收藏0
  • Lucene 查詢原理

    摘要:介紹如何優化數值類范圍查詢。查詢過程在中查詢是基于。在中為了查詢的這樣一個條件,會建立基于的倒排鏈。在單查詢上可能相比并沒有明顯優勢,甚至會慢一些。所以為了支持高效的數值類或者多維度查詢,引入類。 前言 Lucene 是一個基于 Java 的全文信息檢索工具包,目前主流的搜索系統Elasticsearch和solr都是基于lucene的索引和搜索能力進行。想要理解搜索系統的實現原理,就...

    FullStackDeveloper 評論0 收藏0
  • Lucene 查詢原理

    摘要:介紹如何優化數值類范圍查詢。查詢過程在中查詢是基于。在中為了查詢的這樣一個條件,會建立基于的倒排鏈。在單查詢上可能相比并沒有明顯優勢,甚至會慢一些。所以為了支持高效的數值類或者多維度查詢,引入類。 前言 Lucene 是一個基于 Java 的全文信息檢索工具包,目前主流的搜索系統Elasticsearch和solr都是基于lucene的索引和搜索能力進行。想要理解搜索系統的實現原理,就...

    testHs 評論0 收藏0

發表評論

0條評論

noONE

|高級講師

TA的文章

閱讀更多
最新活動
閱讀需要支付1元查看
<