BpFile(id=212, bpId=71, name=互联网、电商Elasticsearch搜索, author=null, keyword=数据同步,搜索,数据处理, description=互联网、电商ElasticSearch搜索, position=null, ossUrl=bp-W09ZUU0W4TQHED5J.pdf, tags=null, level=null, tagList=null, products=null, productList=null, hotspot=null, oneClick=1, createTime=null, modifiedTime=null, timeConsuming=null, status=1, pdfDescription=
场景描述
每一个生活在互联网中的用户,每天都在经
历各种各样的“搜索”,查找电商网站商品、
信用卡账单、查电子发票、查附近的餐厅酒
店、查偶像、查交通等等。相对于传统的关
系型数据库,Elasticsearch只需要几毫秒的
时间,即可查询PB级数据并从中找到匹配
信息。利用Elasticsearch高可用性和易用
性,能够快速处理网站、APP丢给它的文本、
数字、日期、IP以及地理数据。
解决问题
1.电商网站商品、订单、物流等搜索
2.保险行业保单查询
3.互联网教育行业课程搜索
4.O2O行业地理位置搜索等
产品列表
云服务器ECS
专有网络VPC
负载均衡SLB
云数据库RDSMySQL版
Dataworks
Elasticsearch
数据传输服务DTS
, templateId=L8EJW5W8ZXW1IM8H, freetry=null, visitTime=null, visitCount=null, video_url=null, buttonName=null, buttonUrl=null, targetId=L8EJW5W8ZXW1IM8H, partner=null, partnerUrl=null, partnerLogo=null, cooperation=null, cooperationList=null)
1互联网、电商Elasticsearch搜索 最佳实践
场景描述
每一个生活在互联网中的用户,每天都在经
历各种各样的“搜索”,查找电商网站商品、
信用卡账单、查电子发票、查附近的餐厅酒
店、查偶像、查交通等等。相对于传统的关
系型数据库,Elasticsearch只需要几毫秒的
时间,即可查询PB 级数据并从中找到匹配
信息。利用Elasticsearch高可用性和易用
性,能够快速处理网站、APP丢给它的文本、
数字、日期、IP以及地理数据。
解决问题
1. 电商网站商品、订单、物流等搜索
2. 保险行业保单查询
3. 互联网教育行业课程搜索
4. O2O行业地理位置搜索等
2云服务器ECS(产品名称) 文档模板(手册名称)/文档版本信息
产品列表
云服务器ECS
专有网络VPC
负载均衡SLB
云数据库RDSMySQL版
Dataworks
Elasticsearch
数据传输服务DTS
文档版本:20150122(发布日期) 1
3云服务器ECS(产品名称) 文档模板(手册名称)/文档版本信息
阿里云
企业上云实践
互联网、电商Elasticsearch搜索
文档版本:20200120
文档版本:20150122(发布日期) 2
4企业上云实践 互联网、电商Elasticsearch搜索 | 文档版本信息
文档版本信息
文本信息
属性 内容
文档名称 互联网、电商Elasticsearch搜索最佳实践
文档编号 071
文档版本 V1.3
版本日期 2020-01-20
文档状态 外部发布
制作人 弦望
审阅人 -
文档变更记录
版本编号 日期 作者 审核人 说明
V1.0 2019/07/12 弦望 洪阳 创建
V1.1 2019/10/10 弦望 新增最佳实践
概述
V1.2 2019/12/04 弦望 新增 git下载
democode
V1.3 2020/01/20 弦望 新增概览页
文档版本:20200120 I
5企业上云实践 互联网、电商Elasticsearch搜索| 前言
前言
概述
本文以电商网站为例,使用Elasticsearch实现电商网站的商品搜索,相对于传统的关
系型数据库,Elasticsearch只需要几毫秒的时间,即可查询PB级数据并从中找到匹
配信息。利用Elasticsearch高可用性和易用性,能够快速处理网站/APP丢给它的文
本、数字、日期、IP 以及地理数据。本文提供全流程完整的Demo演示,可作为客户、
架构师PoC验证使用。
应用范围
互联网行业、电商行业等网站、App、小程序应用内搜索场景。
可扩展到各类网站搜索场景使用。
名词解释
专有网络VPC:VirtualPrivateCloud,简称VPC,是基于阿里云创建的自定义私
有网络,不同的专有网络之间二层逻辑隔离。您可以在自己创建的专有网络内创
建和管理云产品实例,比如ECS、负载均衡、RDS等。在部署云资源前,您需要
结合具体业务,规划VPC和交换机的数量及网段等。更多信息,请参见专有网络
VPC简介(https://www.aliyun.com/product/vpc)。
关系型数据库RDS:RelationalDatabaseService,简称RDS,是一种稳定可靠、
可弹性伸缩的在线数据库服务。RDS基于阿里云分布式文件系统和SSD盘高性
能存储,支持MySQL、SQLServer、PostgreSQL、PPAS和MariaDB引擎,提
供了容灾、备份、恢复、监控、迁移等方面的全套解决方案,彻底解决数据库运
维的烦恼。更多信息,请参见云数据库 RDS MySQL 版简介
(https://www.aliyun.com/product/rds/mysql)。
阿里云Elasticsearch:提供100%兼容开源Elasticsearch的功能,以及Security、
MachineLearning、Graph、APM等商业功能,致力于数据分析、数据搜索等场
景服务。与开源社区背后商业公司Elastic战略合作,为客户提供企业级权限管控、
安全监控告警、自动报表生成等场景服务。更多信息,请参见elasticsearch简介:
(https://data.aliyun.com/product/elasticsearch)。
DataWorks:是一个提供了大数据OS能力、并以allinonebox的方式提供专业
高效、安全可靠的一站式大数据智能云研发平台。同时能满足用户对数据治理、
文档版本:20200120 II
6企业上云实践 互联网、电商Elasticsearch搜索| 前言
质量管理需求,赋予用户对外提供数据服务的能力。更多信息,请参见Dataworks
简介:(https://data.aliyun.com/product/ide)。
数据传输服务(DataTransmissionService):DTS支持关系型数据库、NoSQL、大
数据(OLAP)等数据源间的数据传输。 它是一种集数据迁移、数据订阅及数据实
时同步于一体的数据传输服务。数据传输致力于在公共云、混合云场景下,解决
远距离、毫秒级异步数据传输难题。 它底层的数据流基础设施为阿里双11异地
多活基础架构,为数千下游应用提供实时数据流,已在线上稳定运行5年之久。
您可以使用数据传输轻松构建安全、可扩展、高可用的数据架构。更多信息,请
参见DTS简介:(https://www.aliyun.com/product/dts)。
云服务器 ECS(ElasticComputeService):是一种弹性可伸缩的计算服务,助您
降低 IT 成本,提升运维效率,使您更专注于核心业务创新。更多信息,请参见
ECS简介:(https://www.aliyun.com/product/ecs)。
文档版本:20200120 III
7企业上云实践 互联网、电商行业搜索最佳实践 | 目录
目录
文档版本信息..................................................................................................................................................................I
..........................................................................................................................................................................
法律声明 I
.................................................................................................................................................................................
前言 II
目录...............................................................................................................................................................................IV
最佳实践概述................................................................................................................................................................1
前置条件........................................................................................................................................................................2
............................................................................................................................................
1. 电商网站Demo搭建 3
..............................................................................................................................
1.1. 专有网络VPC创建 3
1.2. ECS创建...............................................................................................................................................4
.................................................................................................................................
1.3. RDS数据库创建 11
1.4. 使用terraform创建云资源...............................................................................................................17
..................................................................................................................................
1.5. 电商网站初始化 20
....................................................................................................................................
2. 创建Elasticsearch集群 25
2.1. 创建Elasticsearch集群....................................................................................................................25
..................................................................................................................................................
3. 数据同步及搜索 28
3.1. 使用DTS进行数据实时同步............................................................................................................28
.............................................................................................
3.2. Elasticsearch搜索验证(实时同步) 34
....................................................................................................................
3.3. 新增/删除数据搜索测试 36
3.4. 使用Dataworks进行离线数据同步................................................................................................38
.............................................................................................
3.5. Elasticsearch搜索验证(离线同步) 55
4. 附录:电商网站使用Elasticsearch引擎........................................................................................................58
............................................................................................................
4.1. 配置Elasticsearch搜索引擎 58
..............................................................................................................................
4.2. 电商网站搜索测试 61
文档版本:20200120 IV
8企业上云实践 互联网、电商Elasticsearch搜索 | 最佳实践概述
最佳实践概述
概述
每一个生活在互联网中的用户,每天都在经历各种各样的“搜索”,查找电商网站商品、
信用卡账单、查电子发票、查附近的餐厅酒店、查偶像、查交通等等。相对于传统的
关系型数据库,Elasticsearch只需要几毫秒的时间,即可查询PB级数据并从中找到
匹配信息。利用Elasticsearch高可用性和易用性,能够快速处理网站、APP丢给它
的文本、数字、日期、IP以及地理数据。
适用场景
电商网站商品、订单、物流等搜索
保险行业保单查询
互联网教育行业课程搜索
O2O行业地理位置搜索等等
方案架构
实时数据通过DTS实时同步链路同步到Elasticsearch,做到增量数据实时检索。
非实时性要求的场景可采用Dataworks进行定期同步到Elasticsearch。
用户的应用服务器通过RestAPI访问Elasticsearch实现大规模数据毫秒级别的搜
索。
1
文档版本:20200120