SlideShare uma empresa Scribd logo
1 de 31
Baixar para ler offline
Optimizing
Solr performance and User
Experience for E-Commerce
15 April 2010
Slides posted at the end of this
Agenda                                                                          presentation; full replay
                                                                                    available within
                                                                               ~48 hours of live webcast
    Introductions
    Apache Lucene/Solr and eCommerce - Grant
         Lucene/Solr Powered Sales
         Common Scenarios
         Search Needs for eCommerce
    Use Case: Sheet Music Plus - Brian
         Leveraging Solr to sell Music online
         Gauging search success through timely metrics



                Lucid Imagination, Inc. – http://www.lucidimagination.com
                                                                                                               2
Introductions
    Grant Ingersoll
      Co-Founder of Lucid Imagination
      Lucene/Solr/Mahout committer




    Brian Doll
      Search Architect at Sheetmusicplus.com
      12+ years experience in eCommerce, finance, retail
      and media



                 Lucid Imagination, Inc. – http://www.lucidimagination.com
                                                                             3
A few Lucene/Solr-Powered Commerce Sites




         Buy.com



                                                                               4

               Lucid Imagination, Inc. – http://www.lucidimagination.com   4
eCommerce Scenarios
  Users can’t buy it if they can’t find it!
    Search/Discovery is often mission critical in eCommerce
    Users don’t know how to spell
    Users often don’t even know how to describe it
  Online stores typically look like:
    SKUs (products): 1K to 500K typically, but we have customers with
    10-50M+ SKUs in Solr
    High Volume Search: Millions of queries/day (peaks @ Xmas in US)
    Lots of Metadata with 1 or 2 text fields
    Many product names are “tricky”:
    GPSGolfPro, iPod, Tchaikovsky, Garmin nuvi 255w
                Lucid Imagination, Inc. – http://www.lucidimagination.com
                                                                            5
eCommerce Checklist for Search
     Keyword search
     High Quality relevance (precision @ < 10)
     Faceting/Discovery
     Flexible language analysis tools
       Stemming, protected words, case changes,
       alpha-numeric
     Multilingual support
     Frequent Incremental Updates
       Ratings, Reviews, New Products
     Best Bets
              Lucid Imagination, Inc. – http://www.lucidimagination.com
                                                                          6
eCommerce Checklist for Search, continued
   Auto-suggest
   Did you mean?
   Related Searches/Items
   Editorial Relevance Controls
     Sales, Margins, Inventory, Fixed results, Exclusions, Ratings
   Admin:
     Scalability, Fault Tolerance, Easy Setup and Config
   Recommendations (See Mahout)
   Analytics and other Business Tools

                Lucid Imagination, Inc. – http://www.lucidimagination.com
                                                                            7
eCommerce and Solr

     Most of the checklist comes out of the box with Apache Solr
     Primary missing piece: Analytics + high level business tools
       But one could argue that is a feature, not a bug!
       Many people already have their own reporting/analytics
       Often quite easy to hook in Solr/Lucene to those solutions




              Lucid Imagination, Inc. – http://www.lucidimagination.com
                                                                          8
Solr E-Commerce Case Study: Sheetmusicplus.com

   Overview
     About Sheetmusicplus and our Solr infrastructure
     Onsite search: understanding the value
     Understanding your traffic, your search and your customers
     Setting search strategies
     Understanding Customer Value
     Q&A




              Lucid Imagination, Inc. – http://www.lucidimagination.com
                                                                          9
About sheetmusicplus.com

       Largest selection of sheet music
       12 year old online business
       600k+ SKUs
       1.5M+ Songs
       Faceted navigation and on-site search with Solr:
        Up to 35 application requests per second this year/~3 million per day
        Up to 11 solr queries per second this year/~1 million per day
       Ruby on Rails app servers running on Passenger / Apache
       MySQL / Memcached / VMWare
       Lots of needles in a huge haystack
               Lucid Imagination, Inc. – http://www.lucidimagination.com
                                                                                 10
What’s the value of on-site search?

     Value of a new prospect
     Value of an existing customer
     eCommerce conversion rate of the search page
     Dollar value of the search page
     Dollar value of top search terms




              Lucid Imagination, Inc. – http://www.lucidimagination.com
                                                                          11
Why Solr?

     Strategies:
     A set of patterns to match search operations with various
     subsets of use cases to optimize results for different users
     We love that the structure of your data is part of your Solr
     environment (schema.xml)
     And the way you query against that data is part of your app
     Solr provides an easy and flexible API that is easy to
     experiment with




              Lucid Imagination, Inc. – http://www.lucidimagination.com
                                                                          12
Step 1




         Data                                                    Strategy



         Lucid Imagination, Inc. – http://www.lucidimagination.com
                                                                            13
Get to know your visitors




   on-site search terms are not as varied as we
                    had thought



            Lucid Imagination, Inc. – http://www.lucidimagination.com
Surprisingly, lots of people search like this:




     piano




              Lucid Imagination, Inc. – http://www.lucidimagination.com
                                                                          15
Surprisingly, lots of people search like this:




     piano



   While others search like this:
    Piano

     The Clash London Calling Guitar Tablature Medium Difficulty



                 Lucid Imagination, Inc. – http://www.lucidimagination.com
                                                                             16
Understanding your data

     We have very diverse data
         Most product attributes are inconsistent
     We receive product information in 136 different formats
       Product title
       Contributor roles: Artist, Composer, Performer, Arranger, etc.
       Musical Genres, instrumentation, difficulty level, format
       Algorithmically applied facets based on all data elements
       Some items have scores of facets, some have only a few



              Lucid Imagination, Inc. – http://www.lucidimagination.com
                                                                          17
Analyzing your data

     How might we categorize all of our potential fields?
     What data elements might contain a person’s name?
     What elements might refer to a musical instrument?
     What do we do about unstructured publisher descriptions?


     How can you provide an effective search service
     with the data you have?




              Lucid Imagination, Inc. – http://www.lucidimagination.com
                                                                          18
A “one size fits all” search strategy may not be ideal.

     piano




     The Clash London Calling Guitar Tablature Medium Difficulty



                 Lucid Imagination, Inc. – http://www.lucidimagination.com
                                                                             19
What if …

     … we applied a strategy pattern to our search queries?




             Lucid Imagination, Inc. – http://www.lucidimagination.com
                                                                         20
How we set up our search strategies

     Each strategy must answer the following:
       A unique name and description to help with analytics
       A hash of solr fields to search, containing:

        The copy field name
        The type of search (phrase or term searching)
        The boost value
        The slop value


       The default sort order of that particular strategy




              Lucid Imagination, Inc. – http://www.lucidimagination.com
                                                                          21
Grouping your data

     There are significant performance benefits in
     minimizing the number of fields to search against
     Group the fields that share common traits and have a
     similar level of influence on your search results to boost
     performance
          Example:
          “Contributors” are all equally important to our visitors. Many
          searches include an artist name, but just as often those names
          are composers, arrangers or popular performers. We can
          create a single copy field that aggregates all of those fields
          into one searchable Solr field


              Lucid Imagination, Inc. – http://www.lucidimagination.com
                                                                           22
Step 2




         Data                                                    Strategy



         Lucid Imagination, Inc. – http://www.lucidimagination.com
                                                                            23
Building a search strategy

      What (copy) fields do you search against?
      What boost is applied to each of those fields?
      What sort order do you default to?
      What other factors might you influence your results with?
        (We occasionally influence results with sales ranking data)




               Lucid Imagination, Inc. – http://www.lucidimagination.com
                                                                           24
Having more than one strategy is much easier
than trying to get it exactly right
It’ll be unique to your site
We have a classifier algorithm to help determine
which strategy we should apply to an incoming
search request




        Lucid Imagination, Inc. – http://www.lucidimagination.com
                                                                    25
Implementing these strategies provided an
86% increase in per-search value.


We can now fine-tune individual categories of
searches, as well as specific phrases.




     Lucid Imagination, Inc. – http://www.lucidimagination.com
                                                                 26
Expanding your portfolio of search strategies

      How are customers searching your data?
      What categories of searches might you need to address?
      Sheetmusicplus.com examples:
        Artist search {Pink Floyd, Haydn, Louis Armstrong}
        Instrument search {Guitar, ukulele, oboe}
        Genre search {Jazz, classical, standards}
        Title search {“I left my heart in San Fernando’s Hideaway”}
      Evaluate: How does this relate to metadata?


               Lucid Imagination, Inc. – http://www.lucidimagination.com
                                                                           27
Monitor and refine your strategies

      Use Google Analytics (or a similar tool) to understand
      what your users are searching for
      Deliver search strategies to help them find what they want
      Don't bother chasing obscure queries that
      don't generate revenue
      Focus on delivering customer value
      Win!




             Lucid Imagination, Inc. – http://www.lucidimagination.com
                                                                         28
Track customer value per strategy

     Use Google Analytics to track the value of your strategies
       Add a dummy URL parameter to each of your search results
       indicating which strategy was used during that search
                           /some/resulting/doc?s=4
       In Google Analytics, search your page views for ‘s=4’
        Graph of page views over time, eCommerce value per page, etc




              Lucid Imagination, Inc. – http://www.lucidimagination.com
                                                                          29
Summary

    Data --> Strategy
    Tuning your search algorithm is an endless game, and if
    you focus on pleasing customer X, it'll cost you.
    Don't try to please everybody. Please the people who
    make you money!




           Lucid Imagination, Inc. – http://www.lucidimagination.com
                                                                       30
Q&A
 Go to http://bit.ly/solr-ecom to download slides;
Full replay available within 48 hours of live webcast




        Lucid Imagination, Inc. – http://www.lucidimagination.com
                                                                    31

Mais conteúdo relacionado

Destaque

Kollárova simon uzrt 2016
Kollárova simon uzrt 2016Kollárova simon uzrt 2016
Kollárova simon uzrt 2016Krisztián Simon
 
Prior_Pending_Exclusions_in_the_E&O_Form
Prior_Pending_Exclusions_in_the_E&O_FormPrior_Pending_Exclusions_in_the_E&O_Form
Prior_Pending_Exclusions_in_the_E&O_FormFrederick Fisher, J.D.
 
מיהו מנהל טוב
מיהו מנהל טובמיהו מנהל טוב
מיהו מנהל טובazimut G.B.S
 
Pp As Big As A Pig
Pp   As Big As A PigPp   As Big As A Pig
Pp As Big As A PigSCosta
 
Module outline itd dmzjan2015
Module outline itd dmzjan2015Module outline itd dmzjan2015
Module outline itd dmzjan2015G-ny Gynie
 
Informe sobre seguimiento al proceso de empalme
Informe sobre seguimiento al proceso de empalmeInforme sobre seguimiento al proceso de empalme
Informe sobre seguimiento al proceso de empalmemauricio benitez
 
نقش نخبگان و متخصصین در حکمرانی خوب
نقش نخبگان و متخصصین در حکمرانی خوبنقش نخبگان و متخصصین در حکمرانی خوب
نقش نخبگان و متخصصین در حکمرانی خوبFarhad Zargari
 
Resumecoverletter 2016
Resumecoverletter 2016Resumecoverletter 2016
Resumecoverletter 2016Maureen Riccio
 
Chuva de novembro marcia portella
Chuva de novembro marcia portellaChuva de novembro marcia portella
Chuva de novembro marcia portellaLuzia Gabriele
 
Data Metrics and Automation: A Strange Loop - SIRAcon 2015
Data Metrics and Automation: A Strange Loop - SIRAcon 2015Data Metrics and Automation: A Strange Loop - SIRAcon 2015
Data Metrics and Automation: A Strange Loop - SIRAcon 2015Michael Roytman
 

Destaque (11)

Kollárova simon uzrt 2016
Kollárova simon uzrt 2016Kollárova simon uzrt 2016
Kollárova simon uzrt 2016
 
Prior_Pending_Exclusions_in_the_E&O_Form
Prior_Pending_Exclusions_in_the_E&O_FormPrior_Pending_Exclusions_in_the_E&O_Form
Prior_Pending_Exclusions_in_the_E&O_Form
 
מיהו מנהל טוב
מיהו מנהל טובמיהו מנהל טוב
מיהו מנהל טוב
 
Pp As Big As A Pig
Pp   As Big As A PigPp   As Big As A Pig
Pp As Big As A Pig
 
Module outline itd dmzjan2015
Module outline itd dmzjan2015Module outline itd dmzjan2015
Module outline itd dmzjan2015
 
Welcome to pe
Welcome to peWelcome to pe
Welcome to pe
 
Informe sobre seguimiento al proceso de empalme
Informe sobre seguimiento al proceso de empalmeInforme sobre seguimiento al proceso de empalme
Informe sobre seguimiento al proceso de empalme
 
نقش نخبگان و متخصصین در حکمرانی خوب
نقش نخبگان و متخصصین در حکمرانی خوبنقش نخبگان و متخصصین در حکمرانی خوب
نقش نخبگان و متخصصین در حکمرانی خوب
 
Resumecoverletter 2016
Resumecoverletter 2016Resumecoverletter 2016
Resumecoverletter 2016
 
Chuva de novembro marcia portella
Chuva de novembro marcia portellaChuva de novembro marcia portella
Chuva de novembro marcia portella
 
Data Metrics and Automation: A Strange Loop - SIRAcon 2015
Data Metrics and Automation: A Strange Loop - SIRAcon 2015Data Metrics and Automation: A Strange Loop - SIRAcon 2015
Data Metrics and Automation: A Strange Loop - SIRAcon 2015
 

Mais de Brian Doll

The Ultimate Productivity Hack, Having Kids
The Ultimate Productivity Hack, Having KidsThe Ultimate Productivity Hack, Having Kids
The Ultimate Productivity Hack, Having KidsBrian Doll
 
The Performance and Scalability Mindset
The Performance and Scalability MindsetThe Performance and Scalability Mindset
The Performance and Scalability MindsetBrian Doll
 
Finding and fixing top performance issues with new relic rpm
Finding and fixing top performance issues with new relic rpmFinding and fixing top performance issues with new relic rpm
Finding and fixing top performance issues with new relic rpmBrian Doll
 
New Relic .NET Agent Overview
New Relic .NET Agent OverviewNew Relic .NET Agent Overview
New Relic .NET Agent OverviewBrian Doll
 
New Relic: Optimizing The Database SQL and NoSQL Alike
New Relic: Optimizing The Database SQL and NoSQL AlikeNew Relic: Optimizing The Database SQL and NoSQL Alike
New Relic: Optimizing The Database SQL and NoSQL AlikeBrian Doll
 
Rit. the anti-cms
Rit. the anti-cmsRit. the anti-cms
Rit. the anti-cmsBrian Doll
 
What should we work on next?
What should we work on next?What should we work on next?
What should we work on next?Brian Doll
 
Get Fit to Win
Get Fit to WinGet Fit to Win
Get Fit to WinBrian Doll
 
Optimizing Your Online Store for the Holidays
Optimizing Your Online Store for the HolidaysOptimizing Your Online Store for the Holidays
Optimizing Your Online Store for the HolidaysBrian Doll
 

Mais de Brian Doll (9)

The Ultimate Productivity Hack, Having Kids
The Ultimate Productivity Hack, Having KidsThe Ultimate Productivity Hack, Having Kids
The Ultimate Productivity Hack, Having Kids
 
The Performance and Scalability Mindset
The Performance and Scalability MindsetThe Performance and Scalability Mindset
The Performance and Scalability Mindset
 
Finding and fixing top performance issues with new relic rpm
Finding and fixing top performance issues with new relic rpmFinding and fixing top performance issues with new relic rpm
Finding and fixing top performance issues with new relic rpm
 
New Relic .NET Agent Overview
New Relic .NET Agent OverviewNew Relic .NET Agent Overview
New Relic .NET Agent Overview
 
New Relic: Optimizing The Database SQL and NoSQL Alike
New Relic: Optimizing The Database SQL and NoSQL AlikeNew Relic: Optimizing The Database SQL and NoSQL Alike
New Relic: Optimizing The Database SQL and NoSQL Alike
 
Rit. the anti-cms
Rit. the anti-cmsRit. the anti-cms
Rit. the anti-cms
 
What should we work on next?
What should we work on next?What should we work on next?
What should we work on next?
 
Get Fit to Win
Get Fit to WinGet Fit to Win
Get Fit to Win
 
Optimizing Your Online Store for the Holidays
Optimizing Your Online Store for the HolidaysOptimizing Your Online Store for the Holidays
Optimizing Your Online Store for the Holidays
 

Último

08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Enterprise Knowledge
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure servicePooja Nehwal
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024The Digital Insurer
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilV3cube
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 

Último (20)

08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of Brazil
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 

Optimizing Solr performance and User Experience for eCommerce

  • 1. Optimizing Solr performance and User Experience for E-Commerce 15 April 2010
  • 2. Slides posted at the end of this Agenda presentation; full replay available within ~48 hours of live webcast Introductions Apache Lucene/Solr and eCommerce - Grant Lucene/Solr Powered Sales Common Scenarios Search Needs for eCommerce Use Case: Sheet Music Plus - Brian Leveraging Solr to sell Music online Gauging search success through timely metrics Lucid Imagination, Inc. – http://www.lucidimagination.com 2
  • 3. Introductions Grant Ingersoll Co-Founder of Lucid Imagination Lucene/Solr/Mahout committer Brian Doll Search Architect at Sheetmusicplus.com 12+ years experience in eCommerce, finance, retail and media Lucid Imagination, Inc. – http://www.lucidimagination.com 3
  • 4. A few Lucene/Solr-Powered Commerce Sites Buy.com 4 Lucid Imagination, Inc. – http://www.lucidimagination.com 4
  • 5. eCommerce Scenarios Users can’t buy it if they can’t find it! Search/Discovery is often mission critical in eCommerce Users don’t know how to spell Users often don’t even know how to describe it Online stores typically look like: SKUs (products): 1K to 500K typically, but we have customers with 10-50M+ SKUs in Solr High Volume Search: Millions of queries/day (peaks @ Xmas in US) Lots of Metadata with 1 or 2 text fields Many product names are “tricky”: GPSGolfPro, iPod, Tchaikovsky, Garmin nuvi 255w Lucid Imagination, Inc. – http://www.lucidimagination.com 5
  • 6. eCommerce Checklist for Search Keyword search High Quality relevance (precision @ < 10) Faceting/Discovery Flexible language analysis tools Stemming, protected words, case changes, alpha-numeric Multilingual support Frequent Incremental Updates Ratings, Reviews, New Products Best Bets Lucid Imagination, Inc. – http://www.lucidimagination.com 6
  • 7. eCommerce Checklist for Search, continued Auto-suggest Did you mean? Related Searches/Items Editorial Relevance Controls Sales, Margins, Inventory, Fixed results, Exclusions, Ratings Admin: Scalability, Fault Tolerance, Easy Setup and Config Recommendations (See Mahout) Analytics and other Business Tools Lucid Imagination, Inc. – http://www.lucidimagination.com 7
  • 8. eCommerce and Solr Most of the checklist comes out of the box with Apache Solr Primary missing piece: Analytics + high level business tools But one could argue that is a feature, not a bug! Many people already have their own reporting/analytics Often quite easy to hook in Solr/Lucene to those solutions Lucid Imagination, Inc. – http://www.lucidimagination.com 8
  • 9. Solr E-Commerce Case Study: Sheetmusicplus.com Overview About Sheetmusicplus and our Solr infrastructure Onsite search: understanding the value Understanding your traffic, your search and your customers Setting search strategies Understanding Customer Value Q&A Lucid Imagination, Inc. – http://www.lucidimagination.com 9
  • 10. About sheetmusicplus.com Largest selection of sheet music 12 year old online business 600k+ SKUs 1.5M+ Songs Faceted navigation and on-site search with Solr:  Up to 35 application requests per second this year/~3 million per day  Up to 11 solr queries per second this year/~1 million per day Ruby on Rails app servers running on Passenger / Apache MySQL / Memcached / VMWare Lots of needles in a huge haystack Lucid Imagination, Inc. – http://www.lucidimagination.com 10
  • 11. What’s the value of on-site search? Value of a new prospect Value of an existing customer eCommerce conversion rate of the search page Dollar value of the search page Dollar value of top search terms Lucid Imagination, Inc. – http://www.lucidimagination.com 11
  • 12. Why Solr? Strategies: A set of patterns to match search operations with various subsets of use cases to optimize results for different users We love that the structure of your data is part of your Solr environment (schema.xml) And the way you query against that data is part of your app Solr provides an easy and flexible API that is easy to experiment with Lucid Imagination, Inc. – http://www.lucidimagination.com 12
  • 13. Step 1 Data Strategy Lucid Imagination, Inc. – http://www.lucidimagination.com 13
  • 14. Get to know your visitors on-site search terms are not as varied as we had thought Lucid Imagination, Inc. – http://www.lucidimagination.com
  • 15. Surprisingly, lots of people search like this: piano Lucid Imagination, Inc. – http://www.lucidimagination.com 15
  • 16. Surprisingly, lots of people search like this: piano While others search like this: Piano The Clash London Calling Guitar Tablature Medium Difficulty Lucid Imagination, Inc. – http://www.lucidimagination.com 16
  • 17. Understanding your data We have very diverse data Most product attributes are inconsistent We receive product information in 136 different formats Product title Contributor roles: Artist, Composer, Performer, Arranger, etc. Musical Genres, instrumentation, difficulty level, format Algorithmically applied facets based on all data elements Some items have scores of facets, some have only a few Lucid Imagination, Inc. – http://www.lucidimagination.com 17
  • 18. Analyzing your data How might we categorize all of our potential fields? What data elements might contain a person’s name? What elements might refer to a musical instrument? What do we do about unstructured publisher descriptions? How can you provide an effective search service with the data you have? Lucid Imagination, Inc. – http://www.lucidimagination.com 18
  • 19. A “one size fits all” search strategy may not be ideal. piano The Clash London Calling Guitar Tablature Medium Difficulty Lucid Imagination, Inc. – http://www.lucidimagination.com 19
  • 20. What if … … we applied a strategy pattern to our search queries? Lucid Imagination, Inc. – http://www.lucidimagination.com 20
  • 21. How we set up our search strategies Each strategy must answer the following: A unique name and description to help with analytics A hash of solr fields to search, containing:  The copy field name  The type of search (phrase or term searching)  The boost value  The slop value The default sort order of that particular strategy Lucid Imagination, Inc. – http://www.lucidimagination.com 21
  • 22. Grouping your data There are significant performance benefits in minimizing the number of fields to search against Group the fields that share common traits and have a similar level of influence on your search results to boost performance Example: “Contributors” are all equally important to our visitors. Many searches include an artist name, but just as often those names are composers, arrangers or popular performers. We can create a single copy field that aggregates all of those fields into one searchable Solr field Lucid Imagination, Inc. – http://www.lucidimagination.com 22
  • 23. Step 2 Data Strategy Lucid Imagination, Inc. – http://www.lucidimagination.com 23
  • 24. Building a search strategy What (copy) fields do you search against? What boost is applied to each of those fields? What sort order do you default to? What other factors might you influence your results with? (We occasionally influence results with sales ranking data) Lucid Imagination, Inc. – http://www.lucidimagination.com 24
  • 25. Having more than one strategy is much easier than trying to get it exactly right It’ll be unique to your site We have a classifier algorithm to help determine which strategy we should apply to an incoming search request Lucid Imagination, Inc. – http://www.lucidimagination.com 25
  • 26. Implementing these strategies provided an 86% increase in per-search value. We can now fine-tune individual categories of searches, as well as specific phrases. Lucid Imagination, Inc. – http://www.lucidimagination.com 26
  • 27. Expanding your portfolio of search strategies How are customers searching your data? What categories of searches might you need to address? Sheetmusicplus.com examples: Artist search {Pink Floyd, Haydn, Louis Armstrong} Instrument search {Guitar, ukulele, oboe} Genre search {Jazz, classical, standards} Title search {“I left my heart in San Fernando’s Hideaway”} Evaluate: How does this relate to metadata? Lucid Imagination, Inc. – http://www.lucidimagination.com 27
  • 28. Monitor and refine your strategies Use Google Analytics (or a similar tool) to understand what your users are searching for Deliver search strategies to help them find what they want Don't bother chasing obscure queries that don't generate revenue Focus on delivering customer value Win! Lucid Imagination, Inc. – http://www.lucidimagination.com 28
  • 29. Track customer value per strategy Use Google Analytics to track the value of your strategies Add a dummy URL parameter to each of your search results indicating which strategy was used during that search /some/resulting/doc?s=4 In Google Analytics, search your page views for ‘s=4’  Graph of page views over time, eCommerce value per page, etc Lucid Imagination, Inc. – http://www.lucidimagination.com 29
  • 30. Summary Data --> Strategy Tuning your search algorithm is an endless game, and if you focus on pleasing customer X, it'll cost you. Don't try to please everybody. Please the people who make you money! Lucid Imagination, Inc. – http://www.lucidimagination.com 30
  • 31. Q&A Go to http://bit.ly/solr-ecom to download slides; Full replay available within 48 hours of live webcast Lucid Imagination, Inc. – http://www.lucidimagination.com 31