Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Elastic{ON} 2018 - Surfacing the Products You L...
Search
Elastic Co
March 01, 2018
Technology
4.1k
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Elastic{ON} 2018 - Surfacing the Products You Love on Spring
Elastic Co
March 01, 2018
More Decks by Elastic Co
See All by Elastic Co
Les Vendredis noirs : même pas peur ! - Breizhcamp
elastic
15
1.1k
Confoo Montreal: Ingest node: enriching documents within Elasticsearch
elastic
16
1.1k
Elastic{ON} 2018 - Sipping from the Firehose: Scalable Endpoint Data for Incident Response
elastic
6
4.3k
Elastic{ON} 2018 - A Security Analytics Platform for Today
elastic
3
11k
Elastic{ON} 2018 - The State of Geo in Elasticsearch
elastic
7
12k
Elastic{ON} 2018 - Reliable by design - Applying formal methods to distributed systems
elastic
5
4.9k
Elastic{ON} 2018 - Bigger, Faster, Stronger - Leveling Up Enterprise Logging
elastic
1
5.1k
Elastic{ON} 2018: Latest in Logstash
elastic
1
4.7k
Elastic{ON} 2018 - Lessons Learned from Workday's Search Application Journey from POC to Production
elastic
2
2.5k
Other Decks in Technology
See All in Technology
AWSを利用する上で知っておきたい名前解決の話 2026
nagisa53
5
3.3k
Gifu WordPress Meetup #200 に向けて、私たちには何ができるだろうか?/ 2026-11-07 Gifu WordPress Meetup
torounit
0
240
JAWSコミュニティに 参加して1年経った結果
ssakita
0
120
FinOpsを導入してマルチプロダクトのコスト最適化を実現する
kworkdev
PRO
0
140
PostgreSQL オプティマイザ統計の秘密
nori_shinoda
1
440
会社説明資料_最新版
demaecan
0
32k
Shared Signals Framework 仕様解説
oidfj
0
300
レガシーコードに対する loop engineering的なAI開発プロセス導入について
kubell_hr
0
290
詳解 never 型 - ボトム型の性質を深掘り
nealle
0
160
Software Engineering in an AI-Driven World
erikjhordan_rey
0
130
AIがGISを代替する日:〜すべてをAIが創る時代に、私たちがFOSS4Gに関わる意味〜
lehupa
1
210
お客様の「やりたい」の先を見通す合意形成プロセス ~裏にある課題と不安を解きほぐすコツ~
yukakoseki
0
130
Featured
See All Featured
The Illustrated Children's Guide to Kubernetes
chrisshort
51
53k
Navigating Algorithm Shifts & AI Overviews - #SMXNext
aleyda
1
1.7k
A designer walks into a library…
pauljervisheath
211
25k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
32
3.1k
The Cost Of JavaScript in 2023
addyosmani
56
10k
Are puppies a ranking factor?
jonoalderson
2
4.2k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4.6k
How to make the Groovebox
asonas
2
2.5k
Ten Tips & Tricks for a 🌱 transition
stuffmc
1
280
We Analyzed 250 Million AI Search Results: Here's What I Found
joshbly
2
2.1k
How to Grow Your eCommerce with AI & Automation
katarinadahlin
PRO
2
350
Mind Mapping
helmedeiros
1
430
Transcript
Surfacing the Products You Love on Spring Julie Qiu Spring
@jqiu25
@jqiu25 ES Building Search at Spring
3 @jqiu25
4
5
Julie Qiu Engineering Lead Catalog Platform Spring @jqiu25
Get product data into database Search challenges @jqiu25
Get product data into database Keep database in sync with
Elasticsearch Search challenges @jqiu25
2,000+ brands 500,000+ products 1 checkout experience @jqiu25
None
None
How do I find the products that I want?
None
HEELS BLUE DRESS Finding the perfect outfit @jqiu25
None
Finding the perfect outfit @jqiu25
Finding the perfect outfit Search is hard @jqiu25
Finding the perfect outfit Search is hard Price matters @jqiu25
Finding the perfect outfit Search is hard Price matters Too
many shoes @jqiu25
Finding the perfect outfit @jqiu25
Finding the perfect outfit Search is hard Price matters Too
many shoes What is a “blue dress”? @jqiu25
Finding the perfect outfit Search is hard Price matters Too
many shoes What is a “blue dress”? No need for words @jqiu25
Finding the perfect outfit Search is hard Price matters Too
many shoes What is a “blue dress”? No need for words This time, it’s personal @jqiu25
Search is hard: Finding a pair of heels
Let’s search for a pair of heels. heels @jqiu25
None
14,559 results @jqiu25
@jqiu25
@jqiu25
@jqiu25
@jqiu25
@jqiu25
ES Search is only half the story @jqiu25
• Get product data from suppliers Search is kind of
hard @jqiu25 Search Is Hard Price Matters Too Many Shoes Adding NLP Visual Browse It’s Personal
Getting product data @jqiu25
Some product data is pushed @jqiu25
Some product data is pulled @jqiu25
Product data ingestion Catalog Ingestion System @jqiu25
• Get product data from suppliers • Sync Postgres with
Elasticsearch Search is kind of hard @jqiu25 Search Is Hard Price Matters Too Many Shoes Adding NLP Visual Browse It’s Personal
Sync database with Elasticsearch ES repopulate (nightly) ES Catalog Ingestion
System @jqiu25 Search Is Hard Price Matters Too Many Shoes Adding NLP Visual Browse It’s Personal
Products Index Alias products (alias) products_20180131030000 products_20180131030000 products_20180129030000 products_group (index_group)
(index) @jqiu25 Search Is Hard Price Matters Too Many Shoes Adding NLP Visual Browse It’s Personal
Alexandre Birman Elouise Suede Platform Sandals $695 $278 @jqiu25
@jqiu25
• Get product data from suppliers • Sync database with
Elasticsearch • Real-time updates Search is kind of hard @jqiu25 Search Is Hard Price Matters Too Many Shoes Adding NLP Visual Browse It’s Personal
Real-time updates @jqiu25 Search Is Hard Price Matters Too Many
Shoes Adding NLP Visual Browse It’s Personal
Real-time updates Consistent Data Channon Heeled Sandal by Club Monaco
@jqiu25 Search Is Hard Price Matters Too Many Shoes Adding NLP Visual Browse It’s Personal
Consistent Data Channon Heeled Sandal by Club Monaco Regularly Updated
$298 Now $139.30 Sizes: • 38 • 39 • 40 Unavailable Real-time updates @jqiu25 Search Is Hard Price Matters Too Many Shoes Adding NLP Visual Browse It’s Personal
Real-time updates ES repopulate (nightly) ES Catalog Ingestion System @jqiu25
Search Is Hard Price Matters Too Many Shoes Adding NLP Visual Browse It’s Personal
Real-time updates ES repopulate (nightly) ES ES sync (real-time) Catalog
Ingestion System @jqiu25 Search Is Hard Price Matters Too Many Shoes Adding NLP Visual Browse It’s Personal
Club Monaco Channon Heeled Sandal $298 @jqiu25
Club Monaco Channon Heeled Sandal $298 Club Monaco Channon Heeled
Sandal $298 $199 @jqiu25
Price Matters: Finding a pair of heels on sale
• Mark products on sale Price Matters @jqiu25 Search Is
Hard Price Matters Too Many Shoes Adding NLP Visual Browse It’s Personal
Mark products on sale ES repopulate (nightly) ES ES sync
(real-time) Catalog Ingestion System @jqiu25 Search Is Hard Price Matters Too Many Shoes Adding NLP Visual Browse It’s Personal
Mark products on sale @jqiu25
Mark products on sale Sale Start and End Dates @jqiu25
Mark products on sale Sale Amount @jqiu25
None
• Mark products on sale • Store prices in Elasticsearch
Price Matters @jqiu25 Search Is Hard Price Matters Too Many Shoes Adding NLP Visual Browse It’s Personal
Store prices in Elasticsearch Sale Tagger ES repopulate (nightly) ES
ES sync (real-time) Catalog Ingestion System @jqiu25 Search Is Hard Price Matters Too Many Shoes Adding NLP Visual Browse It’s Personal
• Mark products on sale • Store prices in Elasticsearch
• Compute sale prices Price Matters @jqiu25 Search Is Hard Price Matters Too Many Shoes Adding NLP Visual Browse It’s Personal
Compute sale prices { "price":"409", "prices":[ { "active_dates":{ "start":"2000-01-01T00:00:00Z", "end":"2100-01-01T00:00:00Z"
}, "price":"409", "discount_amount":48, } ] } @jqiu25 Search Is Hard Price Matters Too Many Shoes Adding NLP Visual Browse It’s Personal
Compute sale prices Consumer API ES @jqiu25 Search Is Hard
Price Matters Too Many Shoes Adding NLP Visual Browse It’s Personal
None
Too many shoes: Refining search results
Let’s search for a pair of blue heels. blue heels
@jqiu25 Search Is Hard Price Matters Too Many Shoes Adding NLP Visual Browse It’s Personal
None
What I expect when I search for “blue heels” Too
Many Shoes Price Matters Search Is Hard Adding NLP Visual Browse Personalized Experience @jqiu25
Baby Powder Candied Veg Royal Silk Actual colors of these
heels @jqiu25 Too Many Shoes Price Matters Search Is Hard Adding NLP Visual Browse Personalized Experience
• Categorize data Too many shoes @jqiu25 Search Is Hard
Price Matters Too Many Shoes Adding NLP Visual Browse It’s Personal
Categorizing data: Sometimes it’s simple @jqiu25 Search Is Hard Price
Matters Too Many Shoes Adding NLP Visual Browse It’s Personal
What brand are these heels? @jqiu25 Search Is Hard Price
Matters Too Many Shoes Adding NLP Visual Browse It’s Personal
Vince Camuto Shoes of Prey Club Monaco What brand are
these heels? @jqiu25 Search Is Hard Price Matters Too Many Shoes Adding NLP Visual Browse It’s Personal
Categorizing data: Sometimes it’s simple Sometimes it’s complicated @jqiu25 Search
Is Hard Price Matters Too Many Shoes Adding NLP Visual Browse It’s Personal
What color are these heels? @jqiu25 Search Is Hard Price
Matters Too Many Shoes Adding NLP Visual Browse It’s Personal
What color are these heels? Candied Veg Royal Silk Baby
Powder @jqiu25 Search Is Hard Price Matters Too Many Shoes Adding NLP Visual Browse It’s Personal
Color Categorization API Categorize data @jqiu25 Search Is Hard Price
Matters Too Many Shoes Adding NLP Visual Browse It’s Personal
• Categorize data • Aggregate documents Too many shoes @jqiu25
Search Is Hard Price Matters Too Many Shoes Adding NLP Visual Browse It’s Personal
Aggregate documents @jqiu25 Search Is Hard Price Matters Too Many
Shoes Adding NLP Visual Browse It’s Personal Consumer API ES
• Categorize data • Aggregate documents • Display results Too
many shoes @jqiu25 Search Is Hard Price Matters Too Many Shoes Adding NLP Visual Browse It’s Personal
None
@jqiu25 We found a pair of heels! Club Monaco Channon
Heeled Sandal $298 $199
None
Let’s search for a blue dress blue dress @jqiu25
None
blue dress shirt blue dress shoes @jqiu25
What is a blue dress? (for humans) @jqiu25
What is a blue dress? (for machines) @jqiu25
What is a blue dress? Incorporating Natural Language Processing
@jqiu25
• Get Twiggle product features Incorporating NLP @jqiu25 Search Is
Hard Price Matters Too Many Shoes Adding NLP Visual Browse It’s Personal
Get Twiggle product features Catalog Ingestion System ES Elasticsearch Cron
Jobs NSQ @jqiu25 Search Is Hard Price Matters Too Many Shoes Adding NLP Visual Browse It’s Personal
• Get Twiggle product features • Index Twiggle’s product ontology
Incorporating NLP @jqiu25 Search Is Hard Price Matters Too Many Shoes Adding NLP Visual Browse It’s Personal
Index Twiggle’s product ontology { “$concept_sm”: [“Dress”, “FashionProduct”], “$color_o”: {"$concept_sm":
[”Blue”]}, “design_patterns_o”: {"$concept_sm": [”Floral”, “Pattern”]}, “material_so”: {"$concept_sm": [”Silk”]}, “persona_so”: {"$concept_sm": [”Women”]}, /* …more features… */ } @jqiu25 Search Is Hard Price Matters Too Many Shoes Adding NLP Visual Browse It’s Personal
• Get Twiggle product features • Index Twiggle’s product ontology
• Interpret search queries Incorporating NLP @jqiu25 Search Is Hard Price Matters Too Many Shoes Adding NLP Visual Browse It’s Personal
Interpreting search queries @jqiu25 Search Is Hard Price Matters Too
Many Shoes Adding NLP Visual Browse It’s Personal Consumer API ES
Interpret search queries “blue dress with a floral pattern under
1600” { “@combine”: [ {“$concept_sm”: {“@eq”: “Dress”}}, {“$color_sm”: {“@eq”: “Blue”}}. {“$$price”: {“usd”: {“@lte”:1600}}}. {“design_patterns_o”:{ “$concept_sm”: {”@eq”: “Floral”} }}}, ] } @jqiu25 Search Is Hard Price Matters Too Many Shoes Adding NLP Visual Browse It’s Personal
None
What I picture wearing in my mind @jqiu25
Assorted dresses @jqiu25
Sort of what I want @jqiu25
No need for words: Similarity and visual browse
• Classify product attributes Visual browse @jqiu25 Search Is Hard
Price Matters Too Many Shoes Adding NLP Visual Browse It’s Personal
• Name • Brand • Price Classify product attributes •
Size • Category • Color @jqiu25 Search Is Hard Price Matters Too Many Shoes Adding NLP Visual Browse It’s Personal
• Classify product attributes • Generate similar products Visual browse
@jqiu25 Search Is Hard Price Matters Too Many Shoes Adding NLP Visual Browse It’s Personal
Sort of what I want @jqiu25
Generate similar products @jqiu25 Emilio Pucci Ruffle Sleeve Dress $1,280
Generate similar products @jqiu25 Search Is Hard Price Matters Too
Many Shoes Adding NLP Visual Browse It’s Personal Consumer API ES
• Classify product attributes • Generate similar products • Browse
by similar products Visual browse @jqiu25 Search Is Hard Price Matters Too Many Shoes Adding NLP Visual Browse It’s Personal
None
This time, it’s personal: We look good in different blue
dresses
• Classify product attributes (better) This time, it’s personal @jqiu25
Search Is Hard Price Matters Too Many Shoes Adding NLP Visual Browse It’s Personal
Attributes we know • Name • Brand • Price •
Size • Category • Color @jqiu25 Search Is Hard Price Matters Too Many Shoes Adding NLP Visual Browse It’s Personal
• Style • Occasion • Season Attributes we want to
know • Shape • Trend • … and more! @jqiu25 Search Is Hard Price Matters Too Many Shoes Adding NLP Visual Browse It’s Personal
How do we define style? @jqiu25
Catalog Ingestion System ES Elasticsearch Sync Jobs Attribute Tagging System
@jqiu25 NSQ Search Is Hard Price Matters Too Many Shoes Adding NLP Visual Browse It’s Personal
• Classify product attributes (better) • Understand user preferences This
time, it’s personal @jqiu25 Search Is Hard Price Matters Too Many Shoes Adding NLP Visual Browse It’s Personal
Understand style preferences @jqiu25
Understand style preferences @jqiu25
Understand style preferences @jqiu25
Track user events Roland Mouret ALLERSTON DRESS - BLUE $2,885
$1,440 @jqiu25 Search Is Hard Price Matters Too Many Shoes Adding NLP Visual Browse It’s Personal
Track user events Products viewed Roland Mouret ALLERSTON DRESS -
BLUE $2,885 $1,440 @jqiu25 Search Is Hard Price Matters Too Many Shoes Adding NLP Visual Browse It’s Personal
Track user events Favorited products Products viewed Roland Mouret ALLERSTON
DRESS - BLUE $2,885 $1,440 @jqiu25 Search Is Hard Price Matters Too Many Shoes Adding NLP Visual Browse It’s Personal
Track user events Brands loved Favorited products Products viewed Roland
Mouret ALLERSTON DRESS - BLUE $2,885 $1,440 @jqiu25 Search Is Hard Price Matters Too Many Shoes Adding NLP Visual Browse It’s Personal
• Classify product attributes (better) • Understand user preferences •
Personalize results This time, it’s personal @jqiu25 Search Is Hard Price Matters Too Many Shoes Adding NLP Visual Browse It’s Personal
Personalize results Popular Products ES Personalized Products User Preferences User
Events @jqiu25 Search Is Hard Price Matters Too Many Shoes Adding NLP Visual Browse It’s Personal
Blue dresses personalized for me! women > clothing > dresses
Roland Mouret ALLERSTON DRESS - BLUE $2,885 $1,440 Roland Mouret GERZON GOWN – NAVY WOOL $3,200 Laundry by Shelli Segal MATTE CREPE MERMAID GOWN $295 $177 @jqiu25
We found a blue dress! Roland Mouret ALLERSTON DRESS -
BLUE $2,885 $1,440 @jqiu25
None
@jqiu25 ES Building Search at Spring
It’s more than looking at raw data.
It’s more than keyword matching.
It’s about intent.
Thanks! Julie Qiu @jqiu25 Promo Link: bit.ly/spring-elasticon