Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Elastic{ON} 2018 - Surfacing the Products You Love on Spring

Elastic{ON} 2018 - Surfacing the Products You Love on Spring

Elastic Co

March 01, 2018
Tweet

More Decks by Elastic Co

Other Decks in Technology

Transcript

  1. 4

  2. 5

  3. Get product data into database Keep database in sync with

    Elasticsearch Search challenges @jqiu25
  4. Finding the perfect outfit Search is hard Price matters Too

    many shoes What is a “blue dress”? @jqiu25
  5. Finding the perfect outfit Search is hard Price matters Too

    many shoes What is a “blue dress”? No need for words @jqiu25
  6. 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
  7. • 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
  8. • 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
  9. 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
  10. 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
  11. • 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
  12. Real-time updates @jqiu25 Search Is Hard Price Matters Too Many

    Shoes Adding NLP Visual Browse It’s Personal
  13. 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
  14. 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
  15. 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
  16. 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
  17. • Mark products on sale Price Matters @jqiu25 Search Is

    Hard Price Matters Too Many Shoes Adding NLP Visual Browse It’s Personal
  18. 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
  19. • 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
  20. 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
  21. • 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
  22. 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
  23. Compute sale prices Consumer API ES @jqiu25 Search Is Hard

    Price Matters Too Many Shoes Adding NLP Visual Browse It’s Personal
  24. 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
  25. What I expect when I search for “blue heels” Too

    Many Shoes Price Matters Search Is Hard Adding NLP Visual Browse Personalized Experience @jqiu25
  26. 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
  27. • Categorize data Too many shoes @jqiu25 Search Is Hard

    Price Matters Too Many Shoes Adding NLP Visual Browse It’s Personal
  28. Categorizing data: Sometimes it’s simple @jqiu25 Search Is Hard Price

    Matters Too Many Shoes Adding NLP Visual Browse It’s Personal
  29. What brand are these heels? @jqiu25 Search Is Hard Price

    Matters Too Many Shoes Adding NLP Visual Browse It’s Personal
  30. 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
  31. 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
  32. What color are these heels? @jqiu25 Search Is Hard Price

    Matters Too Many Shoes Adding NLP Visual Browse It’s Personal
  33. 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
  34. Color Categorization API Categorize data @jqiu25 Search Is Hard Price

    Matters Too Many Shoes Adding NLP Visual Browse It’s Personal
  35. • Categorize data • Aggregate documents Too many shoes @jqiu25

    Search Is Hard Price Matters Too Many Shoes Adding NLP Visual Browse It’s Personal
  36. Aggregate documents @jqiu25 Search Is Hard Price Matters Too Many

    Shoes Adding NLP Visual Browse It’s Personal Consumer API ES
  37. • 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
  38. • Get Twiggle product features Incorporating NLP @jqiu25 Search Is

    Hard Price Matters Too Many Shoes Adding NLP Visual Browse It’s Personal
  39. 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
  40. • 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
  41. 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
  42. • 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
  43. Interpreting search queries @jqiu25 Search Is Hard Price Matters Too

    Many Shoes Adding NLP Visual Browse It’s Personal Consumer API ES
  44. 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
  45. • Classify product attributes Visual browse @jqiu25 Search Is Hard

    Price Matters Too Many Shoes Adding NLP Visual Browse It’s Personal
  46. • 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
  47. • Classify product attributes • Generate similar products Visual browse

    @jqiu25 Search Is Hard Price Matters Too Many Shoes Adding NLP Visual Browse It’s Personal
  48. Generate similar products @jqiu25 Search Is Hard Price Matters Too

    Many Shoes Adding NLP Visual Browse It’s Personal Consumer API ES
  49. • 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
  50. • 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
  51. 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
  52. • 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
  53. 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
  54. • 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
  55. 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
  56. 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
  57. 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
  58. 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
  59. • 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
  60. 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
  61. 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