solrj操作solr索引庫 流程

2022-08-19 20:06:06 字數 1720 閱讀 1836

宣告:博主自己記錄以免忘記,所以無邏輯無參考價值。小女子就是醬紫任性

---------首先dao層

訪問索引庫的類。定義一些通用的資料訪問方法。

業務邏輯就是查詢索引庫。

引數:solrquery物件

業務邏輯:

1、根據query物件進行查詢。

2、返回查詢結果。list、查詢結果的總記錄數。

需要把返回結果封裝到pojo中,至少包含兩個屬性:list、long recordcount

再包含乙個總頁數。

@repository

public class itemsearchdao else

item.settitle(itemtitle);

//新增到商品列表

itemlist.add(item);

}searchresult result = new searchresult();

result.setitemlist(itemlist);

result.setrecordcount(results.getnumfound());

return result;}}

-----接著service層

引數:querystring:查詢條件

page:頁碼

rows:每頁顯示的記錄數。

業務邏輯:

1、建立乙個solrquery物件。

2、設定查詢條件

3、設定分頁條件

4、需要指定預設搜尋域。

5、設定高亮

6、執行查詢,呼叫searchdao。得到searchresult

7、需要計算總頁數。

8、返回searchresult

返回值:searchresult

public class searchserviceimpl implements searchservice

result.setpagecount(pagecount);

// 8、返回searchresult

return result;}}

(別忘了dubbo要宣告暴露的介面)

------最後表現層

請求的url:/search

引數:1、q 查詢條件。

2、page 頁碼。預設為1

返回值:

邏輯檢視,返回值。string。

業務邏輯:

1、接收引數

2、呼叫服務查詢商品列表

3、把查詢結果傳遞給頁面。需要引數回顯。

querstring = new string(querstring.getbytes("iso8859-1"),"utf-8");

searchresult result = searchservice

.search(querstring, page, item_count);

// 傳遞給頁面

model.addattribute("query", querstring);

model.addattribute("totalpages", result.getpagecount());

model.addattribute("itemlist", result.getitemlist());

model.addattribute("page", page);

return "search";}}

Solr5 3 1 SolrJ查詢索引結果

通過solrj獲取solr檢索結果 1 通過solrparams的方式提交查詢引數 2 通過solrquery提交引數 設定高亮 query.setquery name datou query.sethighlight true 開啟高亮元件或用query.setparam hl true quer...

Solr5 3 1 SolrJ查詢索引結果

通過solrj獲取solr檢索結果 1 通過solrparams的方式提交查詢引數 2 通過solrquery提交引數 設定高亮 query.setquery name datou query.sethighlight true 開啟高亮元件或用query.setparam hl true quer...

使用SolrJ管理索引庫

使用solrj操作索引庫,必須先開啟伺服器。因為操作索引庫的是solr專案,我們只是通過solrj介面向該專案傳送請求,告訴solr專案來操作索引庫。新增的jar包分為兩部分 1 solrj相關jar 2 solr執行的jar包 本質沒有update方法,update就是刪除document後新增乙...