Upload
alberto-resco-perez
View
43
Download
0
Embed Size (px)
Citation preview
1
Alberto Resco PerezEngineering Manager
Elastic{ON} Seminar Singapore – Oct 4, 2016
ShopBack Catalog with Elastic
2
3
Shopback – What we do
4
ShopBackThe Smarter Way to Shop
• Pay users to shop online
• Work with thousands of merchants
• 6 countries
• Over millions of users
• Bringing happiness to ShopBack users via: ‒ Cashback Rewards‒ New Store Discoveries‒ Enhanced Shopping Experiences
5
ChallengesThe Smarter Way to Shop
6
ChallengesThe Smarter Way to Shop
Thousands of categories & stores, Millions of Products
Fast, Reliable & Concise information
Multi country – Multi Language
Presentation in small screens
7
ChallengesMoving towards micro-services
Gateway
API Product Service
MySQLMongoDB
Web IOS Android Extension
8
Engaging with ElasticScalable Product Catalog and Search
• Moved to our Elasticsearch 2.4 cluster‒ Latest version with new features available
• Schema for multi-country, multi-language‒ Indices
• “Product” micro-service‒ Performance is great
• Data collected via ELK‒ Moving towards Beats + Kibana
• Elastic Support
9
Post Elastic ImplementationWhat we got VS What we want
No Metrics
Slow browsing
Limited by language
Fast browsing based on ES
Large amount of SKUs
Language is not a issue
Metrics collected
10
Our journeyHow we migrate to current setup
Initial Setup
Cluster v1
Clusterv2
• Spin up cluster• Basic setup
• Single index, Single type by country:
• Products x 5• Stores x 5
• Better configuration of analyzers (different languages)
• Removed Boolean queries
• Single index, 2 types:• Products• Stores
• Types complete different, need different analyzers…
• Multiple Boolean queries• Country, domain
11
Lessons LearnedGood learnings
• Go for single index, single type
• Be careful with nested documents
• Have a good document update strategy
• Data size is not a problem (over speed)
• Better running own servers More control
12
Where are we going?We are already on it
• Implement country multi-language -> Using different indexes
• Implement fuzzy matching
• Implement suggestions (type-ahead)
• Index more page types Categories, Campaigns, etc.
• Machine Learning Fraud detection
13
Where are we going?Log management and metrics collection
• Previously:‒ Papertrail‒ New Relic‒ AWS CloudWatch Metrics
• Moving towards Beats + Kibana‒ All covered except APM (NewRelic)‒ First Micro-Service (Product Catalog) migrated
1414
1515
Questions?!