电商项目-基于ElasticSearch实现商品搜索功能(一) [复制链接]
发表于 2025-11-14 17:15:48 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
本系列文章重要先容基于 Spring Data Elasticsearch 实现商品搜索的后端代码,先容代码逻辑和代码实现。
重要实现功能:根据搜索关键字查询、条件筛选、规格过滤、代价区间搜索、搜索查询分页、搜索查询排序、高亮查询。
重要应用技能:canal,Eureka,微服务架构(Microservices Architecture),Spring Data Elasticsearch
一、根据关键字查询商品

(1) shangcheng_service_search项目创建SearchService接口
  1. public interface SearchService {
  2.    
  3.    
  4.     /**
  5.      * 全文检索
  6.      * @param paramMap  查询参数
  7.      * @return
  8.      */
  9.     public Map search(Map<String, String> paramMap) throws Exception;
  10. }
复制代码
(2) shangcheng_service_search项目创建SearchService接口实现类SearchServiceImpl
  1. @Service
  2. public class SearchServiceImpl implements SearchService {
  3.    
  4.    
  5.     @Autowired
  6.     private ElasticsearchTemplate esTemplate;
  7.     //设置每页查询条数据
  8.     public final static Integer PAGE_SIZE = 20;
  9.     @Override
  10.     public Map search(Map<String, String> searchMap) throws Exception {
  11.    
  12.    
  13.         Map<String, Object> resultMap = new HashMap<>();
  14.         //有条件才查询Es
  15.         if (null != searchMap) {
  16.    
  17.    
  18.             //组合条件对象
  19.             BoolQueryBuilder boolQuery = QueryBuilders.boolQuery();
  20.             //0:关键词
  21.             if (!StringUtils.isEmpty(searchMap.get("keywords"))) {
  22.    
  23.    
  24.                 boolQuery.must(QueryBuilders.matchQuery("name", searchMap.get("keywords")).operator(Operator.AND));
  25.                
  26.             }
  27.             //4. 原生搜索实现类
  28.             NativeSearchQueryBuilder nativeSearchQueryBuilder = new NativeSearchQueryBuilder();
  29.             nativeSearchQueryBuilder.withQuery(boolQuery);
  30.             
  31.             //10: 执行查询, 返回结果对象
  32.             AggregatedPage<SkuInfo> aggregatedPage = esTemplate.queryForPage(nativeSearchQueryBuilder.build(), SkuInfo.
复制代码
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

登录后关闭弹窗

登录参与点评抽奖  加入IT实名职场社区
去登录
快速回复 返回顶部 返回列表