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
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.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
Webとヘルスデータ
yukukotani
1
200
Azure App Service / Container Apps の組み込み認証
kuniteru
0
210
Adaptive Warehouse を今すぐ導入すべき理由と迷ったときの判断基準
__allllllllez__
0
120
全員がプロダクトへ向き合う組織を持続成長させるために——組織づくりのフライホイールと4象限 / The Flywheel Model and Four Quadrants for Organizational Design
hiro_torii
4
910
アリアドネの糸と、20年ごとの建て替え ── 長尾真『電子図書館』を、伊勢で読み直す / Rereading Makoto Nagao’s "Electronic Library" in Ise
ykiyota
0
100
Azure Cost Management の FOCUS コストデータを迷わず読むための“3つの軸”
tetsuyaooooo
0
160
Deploying a Full-Stack Bun-Native Framework on Cloudflare Workers
7nohe
0
110
深夜のクラウド懺悔室 1:29:300 or 1:0:0
kazzpapa3
0
190
目の前の楽しいが人生を変える - コミュニティの螺旋の歩き方と楽しむコツ / change your life
soudai
PRO
3
140
10分で知る最近のOmarchy
komagata
0
130
Redmine 7.0で私が開発した新機能の狙いと背景
vividtone
1
120
Code4Lib JAPANカンファレンス2026 開会挨拶 / Code4Lib JAPAN Conference 2026: Opening Remarks
ykiyota
0
220
Featured
See All Featured
<Decoding/> the Language of Devs - We Love SEO 2024
nikkihalliwell
1
320
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
202
76k
Build The Right Thing And Hit Your Dates
maggiecrowley
39
3.4k
The Cost Of JavaScript in 2023
addyosmani
55
10k
Building Flexible Design Systems
yeseniaperezcruz
330
41k
Side Projects
sachag
455
43k
Skip the Path - Find Your Career Trail
mkilby
1
220
HDC tutorial
michielstock
2
850
Code Review Best Practice
trishagee
74
20k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
49
10k
VelocityConf: Rendering Performance Case Studies
addyosmani
331
25k
Git: the NoSQL Database
bkeepers
PRO
432
67k
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