http://blog.csdn.net/column/details/15737.html

首先我们在taotao-search-interface工程中新建一个SearchService接口,并在接口中添加一个方法,如下图所示。 

接着,我们到taotao-search-service工程中添加一个SearchServiceImpl实现类,并实现SearchService接口,如下图所示。 

为方便大家复制,现将SearchServiceImpl实现类的代码贴出。

/*** 商品搜索服务实现类* <p>Title: SearchServiceImpl</p>* <p>Description: </p>* <p>Company: www.itcast.cn</p> * @version 1.0*/
@Service
public class SearchServiceImpl implements SearchService { @Autowired private ItemSearchDao itemSearchDao; @Override public SearchResult search(String queryString, int page, int rows) throws Exception { // 1、创建一个SolrQuery对象。 SolrQuery query = new SolrQuery(); // 2、设置查询条件 query.setQuery(queryString); // 3、设置分页条件 if (page < 1) { // page为当前页 page = 1; } query.setStart((page - 1) * rows); if (rows < 1) { rows = 10; } query.setRows(rows); // 4、需要指定默认搜索域。由于复制域查询不太准确,因此建议直接使用item_title域 query.set("df", "item_title"); // 5、设置高亮 query.setHighlight(true); query.addHighlightField("item_title"); // 设置高亮显示的域 query.setHighlightSimplePre("<em style=\"color:red\">"); // 设置高亮显示的前缀 query.setHighlightSimplePost("</em>"); // 设置高亮显示的后缀 // 6、执行查询,调用SearchDao。得到SearchResult SearchResult searchResult = itemSearchDao.search(query); // 7、需要计算总页数。 long totalNumber = searchResult.getTotalNumber(); long totalPage = totalNumber / rows; if (totalNumber % rows > 0) { totalPage++; } searchResult.setTotalPage(totalPage); // 8、返回SearchResult return searchResult; } }
  • 1
  • 2

写完了Service,下面我们便要发布服务了,我们在taotao-search-service工程的applicationContext-service.xml文件中暴露搜索接口,如下图所示。 

为方便大家复制,现将applicationContext-service.xml文件的内容贴出。

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans" xmlns:context="http://www.springframework.org/schema/context" xmlns:p="http://www.springframework.org/schema/p" xmlns:aop="http://www.springframework.org/schema/aop" xmlns:tx="http://www.springframework.org/schema/tx" xmlns:dubbo="http://code.alibabatech.com/schema/dubbo" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.2.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.2.xsd http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-4.2.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-4.2.xsd http://code.alibabatech.com/schema/dubbo http://code.alibabatech.com/schema/dubbo/dubbo.xsd http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util-4.2.xsd"> <context:component-scan base-package="com.taotao.search"></context:component-scan> <!-- 使用dubbo发布服务 --> <!-- 提供方应用信息,用于计算依赖关系 --> <dubbo:application name="taotao-search" /> <dubbo:registry protocol="zookeeper" address="192.168.25.128:2181" /> <!-- 用dubbo协议在20882端口暴露服务 --> <dubbo:protocol name="dubbo" port="20882" /> <!-- 声明需要暴露的服务接口 --> <dubbo:service interface="com.taotao.search.service.SearchItemService" ref="searchItemServiceImpl" timeout="300000" /> <dubbo:service interface="com.taotao.search.service.SearchService" ref="searchServiceImpl" timeout="300000" /> </beans>

这样,实现商品搜索功能的Service层代码便写完了。

转载于:https://www.cnblogs.com/telwanggs/p/6962452.html

(转)淘淘商城系列——商品搜索功能Service实现相关推荐

  1. (转)淘淘商城系列——商品搜索功能表现层实现

    http://blog.csdn.net/yerenyuan_pku/article/details/72913431 首先我们在taotao-search-web工程中需要添加对搜索服务的引用,如下 ...

  2. (转)淘淘商城系列——商品搜索功能Dao实现

    http://blog.csdn.net/yerenyuan_pku/article/details/72909286 终于进入商品搜索功能的开发中了,本文我来教大家编写实现商品搜索功能的Dao层代码 ...

  3. (转)淘淘商城系列——商品搜索功能测试

    http://blog.csdn.net/yerenyuan_pku/article/details/72941506 到这里,我相信大家也是不容易,我自己也算是很不容易写到这里,希望自己能一直写下去 ...

  4. 淘淘商城第56讲——测试一下商品搜索功能

    到这里,我相信大家也是不容易,我自己也算是很不容易地写到这里了,希望自己能一直写下去.之前我们就差不多把商品搜索功能实现了,本文我们来一起测试下该商品搜索功能. 首先我们要确保Zookeeper服务器 ...

  5. 淘淘商城第54讲——商品搜索之service层开发

    首先我们在taotao-search-interface工程的SearchService接口中声明一个根据搜索条件去查询搜索结果的方法,如下图所示. 然后我们在taotao-search-servic ...

  6. 淘淘商城之商品添加功能实现

    1.功能分析 将表单中的数据提交到服务器中,查看item-add.jsp文件,核心表单如下: <div style="padding:10px 10px 10px 10px" ...

  7. 京东的商品搜索功能是如何实现的_「商品架构day8」京东几百亿的商品怎么搜索...

    本文来自京东王春明老师的分享,主要介绍京东商品搜索的整体架构. 京东商品搜索简介 京东商品搜索引擎是搜索推荐部自主研发的商品搜索引擎,主要功能是为海量京东用户提供精准.快速的购物体验.目前入口主要有P ...

  8. 尚硅谷2020微服务分布式电商项目《谷粒商城》-商品搜索

    关注公众号:java星星 获取全套课件资料 1. 导入商品数据 1.1. 搭建搜索工程 pom.xml内容如下: <?xml version="1.0" encoding=& ...

  9. java商品搜索功能_利用solr实现商品的搜索功能(实例讲解)

    后期补充: 为什么要用solr服务,为什么要用luncence? 问题提出:当我们访问购物网站的时候,我们可以根据我们随意所想的内容输入关键字就可以查询出相关的内容,这是怎么做到呢?这些随意的数据不可 ...

最新文章

  1. 第十二章 支持向量机-机器学习老师板书-斯坦福吴恩达教授
  2. matlab作业参考4,matlab第四章作业
  3. Linux下查看文件内容
  4. curl工具使用实例
  5. android 回归测试,自动遍历回归测试工具
  6. FD.io VPP:探究分段场景下vlib_buf在收发包的处理(dpdk_plugin.so)、rte_mbuf与vlib_buf 关系
  7. javascript 学习--javascript高级程序设计
  8. 如何获取CSDN积分?
  9. CodeSmith连接MySql数据库
  10. 01 社会网络分析基础理论!
  11. Ubuntu虚拟机实现与主机之间复制粘贴
  12. Gym 100781A Adjoin the Networks——树的直径
  13. php7没有pecl,PHP7 pecl 安装 mongodb扩展 和 PHPLIB
  14. Terramaster铁威马 F4-422真机实测预告 3000元级万兆4盘位NAS
  15. 电商网上购物成为非洲人喜欢的一种新颖购物方式
  16. 《Python编程从入门到实践》(第2版)第二章 习题答案
  17. 商业模式新生代_【骆新荐书】商业模式新生代
  18. 【MES】聚酯,纺丝,假捻的工艺路线
  19. Linux 服务器配置使用密钥登录教程
  20. 掌门人共话根技术 | 麒麟信安高级副总裁陈松政参加2022长沙·中国1024程序员节“岳麓对话”

热门文章

  1. DynamoRIO工作原理
  2. (8)FPGA实现1s闪灯代码(学无止境)
  3. java 基础做增删改查教学_Java Mybatis 增删改查 简单使用 入门 简版
  4. ajax获取后生成元素,获取动态的子元素生成的内容与jQuery AJAX
  5. mysql锁在粒度上分为_mysql锁的简单理解
  6. 【Python】实现文章字符频次排序(文件IO、列表排序、字典操作和字符串join方法)
  7. oracle 行数大于一时,oracle – PL / SQL ORA-01422:精确的提取返回超过请求的行数
  8. 2d Laser 和 camera 标定工具原理及使用方法
  9. 嵌入式Linux系统编程学习之十七计时器与信号
  10. 前端怎么存token_学长:说说你理解的 Token