宣告:博主自己記錄以免忘記,所以無邏輯無參考價值。小女子就是醬紫任性
---------首先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後新增乙...