结果集pojo和根据条件查询

mac2022-06-30  84

一.ProductResult结果集

private long totalPages; private long recordCount; private List<ProductSearch> productSearchList; 二.搜索结果服务层service 根据查询对象在索引库进行查询 SolrServer solrServer=new HttpSolrServer("http://192.168.0.128:8080/solr/collection1");         //根据query对象进行查询         QueryResponse response = solrServer.query(query);         //取查询结果         SolrDocumentList solrDocumentList = response.getResults();         //取查询结果总记录数         long numFound = solrDocumentList.getNumFound();         ProductResult productResult=new ProductResult();         productResult.setRecordCount(numFound);         List<ProductSearch> itemList = new ArrayList<>();         //把查询结果封装到SearchItem对象中         for (SolrDocument solrDocument : solrDocumentList) {             ProductSearch item = new ProductSearch();             item.setProduct_type((String) solrDocument.get("product_type"));             item.setProduct_id((String) solrDocument.get("id"));             item.setProduct_img((String) solrDocument.get("product_img"));             item.setProduct_price((long) solrDocument.get("product_price"));             item.setProduct_sale(Integer.parseInt((String) solrDocument.get("product_sale")));             item.setProduct_name((String)solrDocument.get("product_name")); //            item.setProduct_number(Integer.parseInt((String)solrDocument.get("product_number")));             //取高亮显示             Map<String, Map<String, List<String>>> highlighting = response.getHighlighting();             List<String> list = highlighting.get(solrDocument.get("id")).get("product_name");             System.out.println(list);             String title = "";             if (list != null && list.size() > 0) {                 title = list.get(0);             } else {                 title = (String) solrDocument.get("product_name");             }             System.out.println(title);             item.setProduct_name(title);             //添加到商品列表             itemList.add(item);         }         //把结果添加到SearchResult中         productResult.setProductSearchList(itemList);         //返回           return productResult; 三.计算总条数,总页数,写入结果集合 //根据查询条件拼装查询对象 //创建一个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", "product_keywords"); //设置高亮显示 query.setHighlight(true); query.addHighlightField("product_name"); query.setHighlightSimplePre("<font color='pink'>"); query.setHighlightSimplePost("</font>"); //调用dao执行查询 ProductResult productResult=this.searchquery(query); //计算查询结果的总页数 long recordCount = productResult.getRecordCount(); long pages =  recordCount / rows; if (recordCount % rows > 0) {     pages++; } productResult.setTotalPages(pages); //返回结果 return productResult; 四.将结果集通过控制层传到前台 mast = new String(mast.getBytes("iso8859-1"),"UTF-8"); System.out.println("用户要搜索的是"+productSearch.getMast()); ProductResult productResult = null; try {     productResult = this.productSearch.search(productSearch.getMast(), page, rows);     System.out.println(productResult); } catch (Exception e) {     e.printStackTrace(); } //把结果传递给页面 model.addAttribute("query", mast); model.addAttribute("totalPages", productResult.getTotalPages()); model.addAttribute("itemList", productResult.getProductSearchList()); model.addAttribute("page", page); model.addAttribute("query", productResult);   return "result";

转载于:https://www.cnblogs.com/llaq/p/9441098.html

相关资源:JAVA上百实例源码以及开源项目
最新回复(0)