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

The Dell.com Search Story: Products, Support, Commerce, and Relevancy

Dd9d954997353b37b4c2684f478192d3?s=47 Elastic Co
March 08, 2017

The Dell.com Search Story: Products, Support, Commerce, and Relevancy

Dell.com shares how they transformed their search platform from a high-touch, targeted experience into a single Elasticsearch-powered responsive and multi-lingual experience. They also share how Elasticsearch collects and analyzes user events, such as click tracking and overall user interaction, and more.

Luis Bocaletti l Software Architect l Dell, Inc.
Rich Claice l Senior Principal Engineer l Dell, Inc.

Dd9d954997353b37b4c2684f478192d3?s=128

Elastic Co

March 08, 2017
Tweet

Transcript

  1. Dell Technologies – Elastic{ON}17 March 08 2017

  2. Dell Technologies 8 March 2017 Products, Support, Commerce, and Relevancy:

    The Story Behind Search on Dell.com Luis Bocaletti Rich Claice
  3. Title slide2 Image 2

  4. 4 Agenda • About Dell - Our Journey • elasticsearch

    and Dell (Why) • What/Why/How – Using elasticsearch • Q&A
  5. 5 About Dell Technologies

  6. 6 Dell Transformation • Only Configurable systems – “dude your

    getting a dell” • Support/Warranty/Parts • Peripherals • Search
  7. 7 Global dell.com (Search) • Transactional/Premier/Seller/Solutions • Products (Dell/EMC/3rd Party)

    • Support (Drivers, Knowledgebase, Manuals, Videos, Solutions) • Company Information • 60+ Countries • 21+ Languages • 1.5M Search/Day
  8. 8 Dell Search User Experience Analytics Content/Index • Search Box

    • Suggestions • Navigation • Filtering • Answers • Product, Support, Company Information Results • Click Tracking • Dashboards • Feedback • Linguistic Processing • Indexing Platform • Templates (localized) • Operations Content(Direct) Operations • Configuration and Management • Measurement • Promotion
  9. 9 Users of Search ISR’s (Internal sales representatives) TSR’s (Technical

    sales representatives) End Consumers from Dell.com Premier Customers External Channel Partners Search
  10. 10 Why Elastic • It just works • Local, dev,

    integration, production • Re-index api • When I fail I can fail fast and fix fast (locally) • Dynamic schema, index aliases • Progress not Perfection (agile, life happens) • Compelling reason for change doesn’t have to hurt
  11. 11 Elastic Search Cluster Load Balancer Master Node Query and

    Data Node Data Node Each Server: 24GB RAM, 16 Core, 2TB HDD Windows Servers Physical servers Data Center 1 Data Center 2
  12. 12 High Level Features • Identifying entities from a user

    query in 21 languages including CJK • Includes query understanding entity identification like: brand name, product name, support, knowledge base, manuals, products (laptops, desktops, tablets, servers) or SNP (speakers, projectors, batteries, printers, games, bags, TV’s and many more. • Also includes linguistics features like spellcheck, synonym, lemmatization, override stemmer.
  13. 13 Identifying Entities within query

  14. 14 Backend processes for generating dictionaries For each language Get

    data from 5 different master sources • Product Category Code and Product Category name mappings • Product Code and Product name mappings • Brand Code and Brand name mappings • And so on…… Massage data (strip special characters, breakline in special cases, format in dictionary entry format) Deploy dictionaries across all elastic servers Sample line in dictionary: optiplex 7020=> OptiPlex.7020=productmatch.opti plex-7020- desktop###systemscatmatch.optip lex-desktops Approx. 30K lines in each dictionary
  15. 15 Index Setup for English Language "analyzer": { "analyzer_en": {

    "type": "custom", "char_filter": [ "html_strip", "characters" ], "tokenizer": "standard", "filter": [ "lowercase", "stopwordsfltr_en", "splitmekeepme", "overridestemmer_en", "kstem", "synonymfltr_en", "catchallfltr_en"]}, "analysis": {"filter": { "splitmekeepme": {"type": "synonym","synonyms_path": "custom/linguistics/splitmekeepme.txt"}, "stopwordsfltr_en": {"type": "stop","stopwords_path": "custom/linguistics/stopwords_en.txt"}, "catchallfltr_en": {"type": "synonym","synonyms_path": "custom/linguistics/catchall_en.txt"}, "synonymfltr_en": {"type": "synonym","synonyms_path": "custom/linguistics/synonym_en.txt"}, "overridestemmer_en": {"type": "stemmer_override","rules_path": "custom/linguistics/stemmer_en.txt"}}} Filters for en language Analyzer setup for en language Lower case Stop word removal Override Stemmer Stemmer Catch all (Entity Identifier) Synonym Match Input query
  16. 16 Plugins Used • analysis-icu – https://www.elastic.co/guide/en/elasticsearch/plugins/current/analysis-icu.html • analysis-kuromoji –

    https://www.elastic.co/guide/en/elasticsearch/plugins/current/analysis-kuromoji- analyzer.html • analysis-smartcn – https://www.elastic.co/guide/en/elasticsearch/plugins/current/analysis-smartcn.html • analysis-stempel – https://www.elastic.co/guide/en/elasticsearch/plugins/2.0/analysis-stempel.html
  17. 17 What/Why/How Almost Live – Signal Visualization

  18. 18 Signal Visualization with Custom Analyzers

  19. 19 Signal Visualization with Custom Analyzer

  20. 20 Signal Visualization with Language Support

  21. 21 Configuration Editing and Testing Actually Live Demo

  22. 22 What/Why/How • Analytics – Capturing User Data › Pilot.search.dell.com

    – Measuring User Interactions – Feeding Back › No Results Page › Popular Products › Popular Categories/Auto Categorization – Product Performance (Click Through, Views, and tuning) – Tools › Kibana › Custom (d3, highcharts, etc…)
  23. 23 Questions and Alternative Facts

  24. Thank You

  25. 25

  26. 26 Configuration Editing and Testing

  27. 27 Configuration Editing And Testing

  28. 28 Content two column

  29. 29 Content left margin

  30. 30 Content left margin With subhead

  31. 31 Content left margin with subhead two lines

  32. 32 Header no body copy

  33. 33 [blank]

  34. Divider image 1

  35. Divider image 2

  36. Divider Dell blue

  37. Divider green

  38. Divider orange

  39. 39 Divider gray

  40. 40