Elasticsearch实战之(商品搜索API实现)

1、案例介绍

某医药电商H5商城基于Elasticsearch实现商品搜索

2、案例分析

2.1、数据来源

  • 商品库 - 平台运营维护
  • 商品库 - 供应商维护

2.2、数据同步

2.2.1、同步双写

写入 MySQL,直接也同步往 ES 里写一份数据

2.2.2、异步双写

借助MQ,商品上架发MQ消息,搜索服务订阅MQ消费同步到ES

2.2.3、定时任务

数据表建一个时间戳字段,商品每次更新完都更新这个字段,定时任务按照一定的时间周期扫描数据

2.2.4、基于Binlog实时同步

利用MySQL的binlog来进行同步
1)读取mysql的binlog日志,获取指定表的日志信息;
2) 将读取的信息转为MQ;
3) 编写一个MQ消费程序;
4) 不断消费MQ,每消费完一条消息,将消息写入到ES中。
使用canal监听binlog同步数据到es(目前比较流行)

3、案例实现

3.1、定义搜索接口

3.2、定义搜索接口实现类

3.3、定义搜索接口控制器类

3.4、Postman操作搜索API

4、源码下载

https://gitee.com/micai-code/es7.8.0-spring-data-elasticsearch.git

Elasticsearch实战之(商品搜索API实现)相关推荐

  1. Elasticsearch项目实战,商品搜索功能设计与实现!

    推荐大家去看原文博主的文章,条理清晰阅读方便,转载是为了方便以后个人查阅 https://juejin.im/post/5e94587f51882573be11cb83?utm_source=gold ...

  2. 淘宝/天猫同款商品搜索API接口详细演示

    item_search_samestyle-搜索同款的商品 [查看演示] API测试工具 注册开通 onebound.taobao.item_search_samestyle 公共参数 请求地址: h ...

  3. ik分词器实现原理_SpringBoot整合Elasticsearch实现商品搜索

    本文主要介绍在Elasticsearch中实现商品搜索功能 中文分词器 Elasticsearch有默认的分词器,默认分词器只是将中文逐词分隔,并不符合我们的需求. get hanzo/_analyz ...

  4. ElasticSearch商城商品搜索实战

    在前面文章中主要是对ES的一个入门,那么在生产环境中结合业务ES到底是如何使用的呢? 本文将讲解电商品平台商城系统如何使用ES做商品搜索功能. 如何达到更高效的分词 : 怎么分词 : 分词器的使用 : ...

  5. 淘宝/天猫/1688拍立淘API接口(以图搜商品API接口,图片搜索API接口,图片搜索商品API接口)代码对接教程

    淘宝/天猫/1688拍立淘API接口(以图搜商品API接口,图片搜索API接口,图片搜索商品API接口)代码对接教程如下: 1.公共参数 名称 类型 必须 描述(接口代码教程wx19970108018 ...

  6. ElasticSearch实现商品搜索与聚合分析

    ElasticSearch实现商品搜索与聚合分析 Gitee地址:https://gitee.com/yuyuuyuy/micro-mall 文章目录 ElasticSearch实现商品搜索与聚合分析 ...

  7. 畅购商城(五):Elasticsearch实现商品搜索

    好好学习,天天向上 本文已收录至我的Github仓库DayDayUP:github.com/RobodLee/DayDayUP,欢迎Star,更多文章请前往:目录导航 畅购商城(一):环境搭建 畅购商 ...

  8. 商城项目(五)整合Elasticsearch实现商品搜索

    商城项目(五)整合Elasticsearch实现商品搜索 环境配置 Elasticsearch Elasticsearch 是一个分布式.可扩展.实时的搜索与数据分析引擎. 它能从项目一开始就赋予你的 ...

  9. 整合Elasticsearch实现商品搜索

    整合Elasticsearch实现商品搜索 本文主要讲解mall整合Elasticsearch的过程,以实现商品信息在Elasticsearch中的导入.查询.修改.删除为例. 项目使用框架介绍 El ...

最新文章

  1. Java编程的逻辑 (39) - 剖析LinkedList
  2. 分享3个好用到爆的 Python 模块,点赞收藏
  3. 强烈推荐一款Python可视化神器!
  4. jtable如何从表格中定位_Java Swing组件编程之JTable表格用法实例详解
  5. UBUNTU安装 Rabbitvsc可视化版本控制客户端软件
  6. Photoshop显示RGB值问题
  7. android标题栏消失,安卓标题栏为什么没有显示
  8. js转义字符 php 反转义6,JS实现HTML标签转义及反转义
  9. [转]直接拿来用!最火的Android开源项目(一)
  10. System verilog利用class类打印信息
  11. Spring Bean的加载过程以及一些生命周期
  12. eclipse优化配置
  13. 强化学习(RL)QLearning算法详解
  14. 医学计算机ppt模板,计算机与医学.ppt
  15. html毕业设计任务要求,毕业设计任务及进度安排|毕业设计进度安排
  16. 极化的概念及天线极化方式
  17. 再谈Qt实现Rasdial拨号问题(说说项目中遇到的问题和解决方案)
  18. 正版2008服务器多少钱,Windows server 2008 R2正版报价多少
  19. HDFS遍历子目录 Hadoop fs -ls -R path
  20. 题解 UVA1567 【A simple stone game】

热门文章

  1. 如何当一名黑客,小白也可以试试,很逼格
  2. N1变砖有救N1 eMMC 镜像,理论用于TTL救砖 ,使用ddbr恢复官改系统救砖方法
  3. Unity预计算全局实时GI(六) - UV展开与减少光照图数量
  4. 什么是变量,变量的本质
  5. 华为超级计算机,华为超级计算机打破世界纪录,是否超越了我国第一的“神威太湖之光”?...
  6. OI 守望者的逃离 c语言简洁注释 逻辑清晰
  7. openresty lua-resty-balancer动态负载均衡
  8. “艺术类”员工管理的最佳方式
  9. 如何通过CRM系统进行群发邮件?
  10. easyconnect有Linux版本吗,深信服EasyConnect for Linux v2019 官方版