Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Elastic{ON} 2018 - Surfacing the Products You L...
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
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
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.8k
Elastic{ON} 2018 - Bigger, Faster, Stronger - Leveling Up Enterprise Logging
elastic
1
5.1k
Elastic{ON} 2018: Latest in Logstash
elastic
1
4.6k
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
しぶいSRE: サーバから見えない障害にどう向き合うか。ラストワンマイルのデバッグ実践 / Shibui SRE
kanny
11
4.6k
記録をかんたんに、提案をパーソナルに ── AIであすけんが目指すもの
oprstchn
0
170
地域 SRE コミュニティ最前線 / SRE NEXT 2026 Discussion Night Track C
muziyoshiz
0
140
4人目のSREはAgent
tanimuyk
0
400
AIペネトレーションテスト・ セキュリティ検証「AgenticSec」紹介資料
laysakura
2
8.1k
スタートアップにおけるアジャイルの実践について #shibuyagile
murabayashi
3
2.1k
ポストモーテム! DDoSからサイトは守れた。 でもビジネスは守れなかった。
bengo4com
0
1.4k
Road to SRE NEXTの今までとこれから
hiroyaonoe
0
190
Docker Desktop不要の時代が来る? WSL標準の「wslc」で Linuxコンテナを動かしてみた.
ueponx
0
790
インフラ寄りSREでも 開発に踏み出せる〜境界を越えてユーザー体験に向き合いたい〜
sansantech
PRO
0
2.2k
Control Planeで育てるBtoB SaaSの認証基盤 - SRE NEXT 2026
pokohide
1
1.3k
AI Agent SaaS を支える自社仮想化基盤への挑戦と実運用 / ai-agent-saas-virtualization
flatt_security
2
2.6k
Featured
See All Featured
Producing Creativity
orderedlist
PRO
348
40k
Designing for Timeless Needs
cassininazir
1
270
The Spectacular Lies of Maps
axbom
PRO
1
850
Neural Spatial Audio Processing for Sound Field Analysis and Control
skoyamalab
0
370
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
27k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
12
1.7k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
47
8.2k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
254
22k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
133
19k
Thoughts on Productivity
jonyablonski
76
5.2k
What's in a price? How to price your products and services
michaelherold
247
13k
Rails Girls Zürich Keynote
gr2m
96
14k
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