日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

SolrJ商品搜索实现

發布時間:2025/3/20 编程问答 16 豆豆
生活随笔 收集整理的這篇文章主要介紹了 SolrJ商品搜索实现 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

商品搜索

Dao

業務邏輯
1、根據Query對象進行查詢
2、返回查詢結果,包括List、查詢結果的總記錄數

@Repository public class SearchDao {@Autowiredprivate SolrServer solrServer;public SearchResult search(SolrQuery query) throws Exception{//根據query對象進行查詢QueryResponse response = solrServer.query(query);//取查詢結果SolrDocumentList solrDocumentList = response.getResults();//取查詢結果總記錄數long numFound = solrDocumentList.getNumFound();SearchResult result = new SearchResult();result.setRecordCount(numFound);List<SearchItem> itemList = new ArrayList<>();//把查詢結果封裝到SearchItem對象中for (SolrDocument solrDocument : solrDocumentList) {SearchItem item = new SearchItem();item.setCategory_name((String) solrDocument.get("item_category_name"));item.setId((String) solrDocument.get("id"));//取一張圖片String image = (String) solrDocument.get("item_image");if (StringUtils.isNotBlank(image)) {image = image.split(",")[0];}item.setImage(image);item.setPrice((long) solrDocument.get("item_price"));item.setSell_point((String) solrDocument.get("item_sell_point"));//取高亮顯示Map<String, Map<String, List<String>>> highlighting = response.getHighlighting();List<String> list = highlighting.get(solrDocument.get("id")).get("item_title");String title = "";if (list != null && list.size() > 0) {title = list.get(0);} else {title = (String) solrDocument.get("item_title");}item.setTitle(title);//添加到商品列表itemList.add(item);}//把結果添加到SearchResult中result.setItemList(itemList);//返回return result;} }

Service

業務邏輯
1、創建一個SolrQuery對象
2、設置查詢條件
3、設置分頁條件
4、需要指定默認搜索域
5、設置高亮
6、執行查詢,調用SearchDao。得到SearchResult
7、需要計算總頁數
8、返回SearchResult

@Service public class SearchServiceImpl implements SearchService {@Autowiredprivate SearchDao searchDao;@Overridepublic SearchResult search(String queryString, int page, int rows) throws Exception {//根據查詢條件拼裝查詢對象//創建一個SolrQuery對象SolrQuery query = new SolrQuery();//設置查詢條件query.setQuery(queryString);//設置分頁條件if (page < 1) page =1;query.setStart((page - 1) * rows);if (rows < 1) rows = 10;query.setRows(rows);//設置默認搜索域query.set("df", "item_title");//設置高亮顯示query.setHighlight(true);query.addHighlightField("item_title");query.setHighlightSimplePre("<font color='red'>");query.setHighlightSimplePost("</font>");//調用dao執行查詢SearchResult searchResult = searchDao.search(query);//計算查詢結果的總頁數long recordCount = searchResult.getRecordCount();long pages = recordCount / rows;if (recordCount % rows > 0) {pages++;}searchResult.setTotalPages(pages);//返回結果return searchResult;} }

Controller

業務邏輯
1、接收參數
2、調用服務查詢商品列表
3、把查詢結果傳遞給頁面,需要參數回顯

@Controller public class SearchController {@Autowiredprivate SearchService searchService;@Value("${SEARCH_RESULT_ROWS}")private Integer SEARCH_RESULT_ROWS;@RequestMapping("/search")public String search(@RequestParam("q") String queryString, @RequestParam(defaultValue = "1") Integer page,Model model) throws Exception {// int a = 1/0;// 調用服務執行查詢// 把查詢條件進行轉碼,解決get亂碼問題queryString = new String(queryString.getBytes("iso8859-1"), "utf-8");SearchResult searchResult = searchService.search(queryString, page, SEARCH_RESULT_ROWS);// 把結果傳遞給頁面model.addAttribute("query", queryString);model.addAttribute("totalPages", searchResult.getTotalPages());model.addAttribute("itemList", searchResult.getItemList());model.addAttribute("page", page);// 返回邏輯視圖return "search";} }

如果,是Dubbo分布式服務
Service需要發布服務

<!-- 聲明需要暴露的服務接口 --> <dubbo:service interface="com.taotao.search.service.SearchService" ref="searchServiceImpl" timeout="300000"/>

Web引用服務

<!-- 引用dubbo服務 --> <dubbo:application name="taotao-search-web"/> <dubbo:registry protocol="zookeeper" address="192.168.25.167:2181"/> <dubbo:reference interface="com.taotao.search.service.SearchService" id="searchService" />

總結

以上是生活随笔為你收集整理的SolrJ商品搜索实现的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 国产三级三级看三级 | 成人午夜视频免费在线观看 | 伊人射 | 在线观看不卡一区 | 久草福利 | 日韩精品一区二区在线 | 日本www高清视频 | 男人天堂2019 | 小明天天看 | 国产三区在线成人av | 欧美高清久久 | 日批视频在线 | 日韩在线观看第一页 | 欧美一级一级一级 | 嫩草嫩草嫩草嫩草 | 宗合久久 | 免费性情网站 | 9人人澡人人爽人人精品 | 日韩无套 | 日本五十路 | 狠狠干在线观看 | 亚洲小说区图片区 | 性猛交ⅹxxx富婆视频 | 亚洲精品成人网 | 手机看片福利一区 | 日韩欧美一区二区三区四区 | 日本 欧美 国产 | 国产一级久久久久毛片精品 | 日本一区二区不卡视频 | 国产天天射 | 精品人妻一区二区三区在线视频 | 成人在线观看一区二区 | 波多野结衣中文字幕在线 | 欧美日韩国产精品一区二区三区 | 色久网| 国产又粗又猛又爽 | 日日日人人人 | 在线观看免费www | 国产精品扒开腿做爽爽爽a片唱戏 | 亚洲精品xxxx | 亚洲欧美日韩国产一区 | 欧美日韩视频在线 | 黄色大片一级 | 老司机深夜免费福利 | 日韩精品一区二区三区免费视频 | 日本视频免费在线 | 91久色视频 | 天天躁日日躁狠狠躁 | 欧美草比视频 | 国产人妖一区二区三区 | 尤物网站在线播放 | 黄色片不卡 | 黄色片网站免费看 | 日日做夜夜爽毛片麻豆 | 午夜人体视频 | 成人欧美一区二区三区在线播放 | 制服下的诱惑暮生 | wwwxxxx欧美 | www.99在线| 国产精品第100页 | 色综合视频在线观看 | 又骚又黄的视频 | 99re色 | 国产精品人人人人 | 嫩草在线观看视频 | 久久久一区二区 | 国产精品国产三级国产专区51区 | 明星双性精跪趴灌满h | 我不卡av | 美女裸体网站久久久 | 国产porn| 亚洲国产精品区 | 男女偷爱性视频刺激 | 91gao | 日韩美女做爰高潮免费 | 精品一区二区不卡 | 私人网站 | 国产精品日本 | 国内一区二区三区 | 久久免费少妇高潮久久精品99 | 少妇激情一区二区三区 | 国产情侣小视频 | 污视频网站免费看 | 男女羞羞的视频 | 中文成人无字幕乱码精品区 | 亚洲国产精品无码久久久 | 久久一精品 | 国产又大又粗又爽的毛片 | av不卡在线播放 | 国产精品视频一区二区在线观看 | 1024福利| 精品av一区二区 | 韩国日本中文字幕 | 久久中文字幕一区 | 精品黄色| 久久接色 | 国外av在线 | 深夜av在线 | 三级网站免费 |