SlideShare une entreprise Scribd logo
1  sur  153
Télécharger pour lire hors ligne
Floyd Morgan
Floyd_Morgan@intuit.com
       @fmorgan
 Lucene Revolution, 2011
Agenda
•    About Me
•    About Live Community
•    Live Community Search
•    NLP
•    Next Steps
•    Questions? Answers?
About Me
•  Principal Software Engineer at Intuit
	
  
Intuit QuickBase




Intuit Inc. is a leading provider of business and financial management solutions
 for small and mid-sized businesses; financial institutions, including banks and
              credit unions; consumers and accounting professionals.

          More	
  than	
  200	
  applica0ons	
  and	
  7700	
  employees	
  worldwide.	
  
About Me
•  Principal Software Engineer at Intuit
•  TurboTax Engineering
	
  
TurboTax is the nation’s No. 1 rated, best-selling, do-it-yourself tax
preparation software. TurboTax helps more than 20 million people a
                                year.
                        $1 billion in revenue
About Me
•  Principal Software Engineer at Intuit
•  TurboTax Engineering
       –  Core tax engine
	
  
About Me
•  Principal Software Engineer at Intuit
•  TurboTax Engineering
  –  Core tax engine
  –  TurboTax Online
About Me
•  Principal Software Engineer at Intuit
•  TurboTax Engineering
  –  Core tax engine
  –  TurboTax Online
  –  TurboTax Live Community
About Me
•  Principal Software Engineer at Intuit
•  TurboTax Engineering
  –  Core tax engine
  –  TurboTax Online
  –  TurboTax Live Community
•  Central Technology Organization
  –  Live Community Platform
About Live Community
•  It’s a user contribution system
    –  Q&A
About Live Community
•  It’s a user contribution system
    –  Q&A
•  It can be integrated into an application, contextually
    –  Page-to-page relevance
About Live Community
•  It’s a user contribution system
    –  Q&A
•  It can be integrated into an application, contextually
    –  Page-to-page relevance
•  We use social, technology and data
    –  To create our value proposition…assisting users
About Live Community
•  It’s a user contribution system
    –  Q&A
•  It can be integrated into an application, contextually
    –  Page-to-page relevance
•  We use social, technology and data
    –  To create our value proposition…assisting users
•  We launched our Beta in 2007
    –  TurboTax Online Home & Business
About Live Community
•  It’s a user contribution system
    –  Q&A
•  It can be integrated into an application, contextually
    –  Page-to-page relevance
•  We use social, technology and data
    –  To create our value proposition…assisting users
•  We launched our Beta in 2007
    –  TurboTax Online Home & Business
•  We use open source…primarily open source
    –  Apache HTTP, Ruby on Rails, MySQL, memcached ...
About Live Community
•  It’s a user contribution system
    –  Q&A
•  It can be integrated into an application, contextually
    –  Page-to-page relevance
•  We use social, technology and data
    –  To create our value proposition…assisting users
•  We launched our Beta in 2007
    –  TurboTax Online Home & Business
•  We use open source…primarily open source
    –  Apache HTTP, Ruby on Rails, MySQL, memcached ...
•  It’s a platform
    –  APIs, skinning, dynamic provisioning (AWS in progress)
Intuit Money Manager, India
QuickBooks Online, UK
devZone, Intuit dev
QuickBooks Online, US
TurboTax Desktop & Online, US
Terminology
Consumers (in the millions)
Contributors (in the thousands)
Top Contributors (in the hundreds)
Employees (contribute too)
Tax Season


Officially begins on December 1 and ends
                 on April 15.
About TurboTax Live Community
•  Largest community
    –  150+ servers, 200 thousand concurrent users
About TurboTax Live Community
•  Largest community
    –  150+ servers, 200 thousand concurrent users
•  Over 23 million users have used the service
    –  Over 8 million last tax season alone
About TurboTax Live Community
•  Largest community
    –  150+ servers, 200 thousand concurrent users
•  Over 23 million users have used the service
    –  Over 8 million last tax season alone
•  Over 32 million pages views last tax season
    –  In-product views in the billions
About TurboTax Live Community
•  Largest community
    –  150+ servers, 200 thousand concurrent users
•  Over 23 million users have used the service
    –  Over 8 million last tax season alone
•  Over 32 million pages views last tax season
    –  In-product views in the billions
•  Over 750 thousand answered questions
    –  10 thousand questions asked on peak day
About TurboTax Live Community
•  Largest community
    –  150+ servers, 200 thousand concurrent users
•  Over 23 million users have used the service
    –  Over 8 million last tax season alone
•  Over 32 million pages views last tax season
    –  In-product views in the billions
•  Over 750 thousand answered questions
    –  10 thousand questions asked on peak day
•  Our contributors answers thousands of
   questions
    –  Top contributor – 70 thousand answers
Demo
Live Community Search
•    Why Solr?
•    Auto suggest
•    In-product search
•    Web-site search
•    Instant answer
•    Instant question
•    Answer bot
•    Advertising
•    Search everywhere
•    Architecture
Why Solr?
•  Lots of features/functionality
	
  
Why Solr?
•  Lots of features/functionality
•  Ease of integration
	
  
Why Solr?
•  Lots of features/functionality
•  Ease of integration
•  We can scale it independently
	
  
Why Solr?
•      Lots of features/functionality
•      Ease of integration
•      We can scale it independently
•      You’ll need some search expertise…that’s
       ok
       –  Community and Lucid Imagination!
	
  
Why Solr?
•      Lots of features/functionality
•      Ease of integration
•      We can scale it independently
•      You’ll need some search expertise…that’s
       ok
       –  Community and Lucid Imagination!
•  Search is really important
       –  Search everywhere…
	
  
Why Solr?
•      Lots of features/functionality
•      Ease of integration
•      We can scale it independently
•      You’ll need some search expertise…that’s
       ok
       –  Community and Lucid Imagination!
•  Search is really important
       –  Search everywhere…
	
  
Live Community Search
•    Why Solr?
•    Auto suggest
•    In-product search
•    Web-site search
•    Instant answer
•    Instant question
•    Answer bot
•    Advertising
•    Search everywhere
•    Architecture
Auto suggest
•  Provides a glimpse of our vast content
Auto suggest
•  Provides a glimpse of our vast content
•  facet query (Solr 1.2)
Auto suggest
•  Provides a glimpse of our vast content
•  facet query (Solr 1.2)
•  We use NLP…
Auto suggest
•    Provides a glimpse of our vast content
•    facet query (Solr 1.2)
•    We use NLP…
•    It’s used on every search touch point
Auto suggest
•    Provides a glimpse of our vast content
•    facet query (Solr 1.2)
•    We use NLP…
•    It’s used on every search touch point
•    Second most frequent request
Live Community Search
•    Why Solr?
•    Auto suggest
•    In-product search
•    Web-site search
•    Instant answer
•    Instant question
•    Answer bot
•    Advertising
•    Search everywhere
•    Architecture
In-product “mini” search
•  Primary search interface for consumers
	
  
In-product “mini” search
•  Primary search interface for consumers
•  It appears integrated
	
  
In-product “mini” search
•  Primary search interface for consumers
•  It appears integrated
•  Now the most utilized search interface
	
  
In-product “mini” search
•      Primary search interface for consumers
•      It appears integrated
•      Now the most utilized search interface
•      It makes all content available
	
  
In-product “mini” search
•      Primary search interface for consumers
•      It appears integrated
•      Now the most utilized search interface
•      It makes all content available
•      Over 3 million users last tax season
	
  
# using Solr is easy!	
  
require 'solr’	
	
c = Solr::Connection.new( 	
  "http://localhost:8090/solr/posts" )	
c.search( "how do i input 1099”,	
  :filter_queries => "post_status: #
   {Post::ANSWERED}" )
Live Community Search
•    Why Solr?
•    Auto suggest
•    In-product search
•    Web-site search
•    Instant answer
•    Instant question
•    Answer bot
•    Advertising
•    Search everywhere
•    Architecture
Web-site “full” search
•  Primary search interface for contributors
   and employees
Web-site “full” search
•  Primary search interface for contributors
   and employees
•  More real estate, more facets, more
   suggestions ...
Web-site “full” search
•  Primary search interface for contributors
   and employees
•  More real estate, more facets, more
   suggestions ...
•  Faceted search empowers development
   teams to narrow on issues
Web-site “full” search
•  Primary search interface for contributors
   and employees
•  More real estate, more facets, more
   suggestions ...
•  Faceted search empowers development
   teams to narrow on issues
•  200+ TurboTax issues discovered last tax
   season
# using Solr is easy!	
  
require 'solr’	
	
c = Solr::Connection.new( 	
  "http://localhost:8090/solr/posts" )	
c.search( ”bug”,	
  :filter_queries => "post_status: #
   {Post::OPEN}" )
Live Community Search
•    Why Solr?
•    Auto suggest
•    In-product search
•    Web-site search
•    Instant answer
•    Instant question
•    Answer bot
•    Advertising
•    Search everywhere
•    Architecture
Instant answer
•  Present similar answered question
Instant answer
•  Present similar answered question
•  Search with the terms of the new question
Instant answer
•  Present similar answered question
•  Search with the terms of the new question
•  Narrow the focus to the subject
Instant answer
•    Present similar answered question
•    Search with the terms of the new question
•    Narrow the focus to the subject
•    Show snippet of a recommended answer
Instant answer
•    Present similar answered question
•    Search with the terms of the new question
•    Narrow the focus to the subject
•    Show snippet of a recommended answer
•    Accidental A/B test
Demo
# using Solr is easy!	
  
require 'solr’	
	
c = Solr::Connection.new( 	
  "http://localhost:8090/solr/posts" )	
c.search( "how do i input 1099”,	
  { :query_fields =>
   "subject", :filter_queries =>
   "post_status: #{Post::ANSWERED}" } )
Live Community Search
•    Why Solr?
•    Auto suggest
•    In-product search
•    Web-site search
•    Instant answer
•    Instant question
•    Answer bot
•    Advertising
•    Search everywhere
•    Architecture
Instant question
•  Present similar unanswered questions
Instant question
•  Present similar unanswered questions
•  Answer reuse
Instant question
•  Present similar unanswered questions
•  Answer reuse
•  Search with the terms of the answered
   question
Instant question
•  Present similar unanswered questions
•  Answer reuse
•  Search with the terms of the answered
   question
•  Narrow the focus to the subject
Instant question
•  Present similar unanswered questions
•  Answer reuse
•  Search with the terms of the answered
   question
•  Narrow the focus to the subject
•  We also use a date filter
“Aren’t	
  we	
  addicted	
  
     enough!”	
  
Demo
# using Solr is easy!	
  
require 'solr’	
	
c = Solr::Connection.new( 	
  "http://localhost:8090/solr/posts" )	
today =
   DateTime.now.at_beginning_of_day.utc.to_time	
date_from = 7.to_i.days.ago
   ( today ).getutc.iso8601	
c.search( "how do i input 1099", { :query_fields
   => "subject", :filter_queries => "post_status:
   #{Post::OPEN} AND created_at_d:[#{date_from}
   TO *]" } )
Live Community Search
•    Why Solr?
•    Auto suggest
•    In-product search
•    Web-site search
•    Instant answer
•    Instant question
•    Answer bot
•    Advertising
•    Search everywhere
•    Architecture
Answer bot
•  We continue to search for you
  –  The day after you ask
Answer bot
•  We continue to search for you
  –  The day after you ask
•  Send an email
Answer bot
•  We continue to search for you
  –  The day after you ask
•  Send an email
•  Runs for 7 days
Answer bot
•  We continue to search for you
  –  The day after you ask
•  Send an email
•  Runs for 7 days
•  We only send another email if the results
   have changed
Answer bot
•  We continue to search for you
  –  The day after you ask
•  Send an email
•  Runs for 7 days
•  We only send another email if the results
   have changed
•  From our explicit feedback
  –  39% answered question
Live Community Search
•    Why Solr?
•    Auto suggest
•    In-product search
•    Web-site search
•    Instant answer
•    Instant question
•    Answer bot
•    Advertising
•    Search everywhere
•    Architecture
Advertising
•  We use our user generated content in
     advertising
	
  
Advertising
•  We use our user generated content in
     advertising
•  Has 300% higher click through rate than
     static banner ads
	
  
Advertising
•  We use our user generated content in
     advertising
•  Has 300% higher click through rate than
     static banner ads
•  Ads displayed throughout the tax season
     on many ad networks
	
  
Advertising
•  We use our user generated content in
     advertising
•  Has 300% higher click through rate than
     static banner ads
•  Ads displayed throughout the tax season
     on many ad networks
•  Content selection is automated and
     continuous
	
  
Logs
    Logs
     Logs




MapReduce


 Carrot2


   Solr


Heuristics
<?xml version="1.0" encoding="UTF-8"?> 

    <lc_trending end_date="2011-05-21" include_popular="true" type="queries" duration="day"> 

      <topic> 

        <rank>1</rank> 

        <text>Ptp</text> 

    <post> 

      <post_id>aBHMBWxzar4lKMacfArRo0</post_id> 

      <subject>Final K-1 Disposition of PTP Units</subject> 

      <detail>I bought units in a PTP in five separate transactions in 2008; I sold all my
    units in five separate transactions in 2010. TT does not allow me to report all 5
    transactions while stepping through the K-1 form -- these transactions are reported on
    Schedule D, but also need to be on Form 4797, Part II, Box 10. I can't seem to make the
    linkage work. I would appreciate some guidance on how to make this happen.</detail> 

      <response>OK, several steps needed for your situation:

    1) on the K-1 on the screen entitled Describe the Partnership Disposal, choose "Disposition
    was not via a sale"

    2) Then search for the topic "sale of business property" -   you will be taked to a topic
    entitled "Any Other Property Sales?" - select the first option. Ove rthe next few screens
    here you will have the opportunityut to enter the sale amounts associated witht he Form
    4797.

    

    3) then choose the topic on the income landing table for "Stocke, Mutual Funds, Bonds,
    other - here you will enter the rest of the sale, that portion attributable to capital
    gains.

    

    Hope this helps you,

    </response> 

         <viewsCount>60</viewsCount> 

         <answersCount>2</answersCount> 

         <asker>Xuxan</asker> 

         <display_post_url>https://ttlc.intuit.com/post/show_full/aBHMBWxzar4lKMacfArRo0?
    rmode=ad</display_post_url> 

    </post> 

    	
  
Live Community Search
•    Why Solr?
•    Auto suggest
•    In-product search
•    Web-site search
•    Instant answer
•    Instant question
•    Answer bot
•    Advertising
•    Search everywhere
•    Architecture
Search everywhere
•  Search first, ask second
   –  Used to be ask first, search later or never!
Search everywhere
•  Search first, ask second
   –  Used to be ask first, search later or never!
•  Auto complete everywhere too
   –  64 bit Linux, 10 (8 core) slaves, 300 req/s
Search everywhere
•  Search first, ask second
   –  Used to be ask first, search later or never!
•  Auto complete everywhere too
   –  64 bit Linux, 10 (8 core) slaves, 300 req/s
•  Search requests
   –  900 % increase
Search everywhere
•  Search first, ask second
   –  Used to be ask first, search later or never!
•  Auto complete everywhere too
   –  64 bit Linux, 10 (8 core) slaves, 300 req/s
•  Search requests
   –  900 % increase
•  Questions asked
   –  50 % decrease…is that good?
Search everywhere
•  Search first, ask second
    –  Used to be ask first, search later or never!
•  Auto complete everywhere too
    –  64 bit Linux, 10 (8 core) slaves, 300 req/s
•  Search requests
    –  900 % increase
•  Questions asked
    –  50 % decrease…is that good?
•  Increased consumption
    –  38% users, 43% content…very good!
Live Community Search
•    Why Solr?
•    Auto suggest
•    In-product search
•    Web-site search
•    Instant answer
•    Instant question
•    Answer bot
•    Advertising
•    Search everywhere
•    Architecture
Search cluster




App server                      Indexing server




             Database cluster
NLP
•  Search is not enough…unfortunately
NLP
•  Search is not enough…unfortunately
•  Our domain is noisy…ugly at times
Uh, what?
Too much what!
?
I wish NLP could help!
NLP
•  Search is not enough…unfortunately
•  Our domain is noisy…ugly at times
•  How it works…
HwO do iput 10 99 i don,t
know what to do need help
       help me.
Where do I enter a 1099?
schema.xml
<fieldtype name="text" class="solr.TextField" positionIncrementGap="100">

         <analyzer type="index">

           <tokenizer class="solr.HTMLStripStandardTokenizerFactory"/>

           <filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords.txt"/>

           <filter class="solr.WordDelimiterFilterFactory" generateWordParts="0"
    generateNumberParts="1" catenateWords="1" catenateNumbers="1" catenateAll="1"
    preserveOriginal="1"/>

           <filter class="solr.LowerCaseFilterFactory"/>

           <filter class="solr.EnglishPorterFilterFactory" protected="protwords.txt"/>

           <filter class="solr.SynonymFilterFactory" synonyms="synonyms.txt"
    ignoreCase="true" expand="true"/>

           <filter class="solr.RemoveDuplicatesTokenFilterFactory"/>

         </analyzer>

         <analyzer type="query">

           <tokenizer class="solr.HTMLStripStandardTokenizerFactory"/>

           <filter class="solr.SynonymFilterFactory" synonyms="synonyms.txt"
    ignoreCase="true" expand="true"/>

           <filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords.txt"/>

           <filter class="solr.WordDelimiterFilterFactory" generateWordParts="0"
    generateNumberParts="1" catenateWords="1" catenateNumbers="1" catenateAll="1"
    preserveOriginal="1"/>

           <filter class="solr.LowerCaseFilterFactory"/>

           <filter class="solr.EnglishPorterFilterFactory" protected="protwords.txt"/>

           <filter class="solr.RemoveDuplicatesTokenFilterFactory"/>

         </analyzer>	
</fieldtype>

    	
  
dictionary
<?xml version="1.0" encoding="US-ASCII"?>

    <dictionary>

           <entry score="10" root="none" synonym="none" domain="ttlc"
    id="suitcas">suitcase</entry>

           <entry score="10" root="form" synonym="none" domain="ttlc" id="2210"></entry>

           <entry score="10" root="none" synonym="none" domain="ttlc" id="xrai">x-ray</
    entry>

           <entry score="10" root="none" synonym="townhom" domain="ttlc"
    id="townhous">townhouse</entry>

           <entry score="10" root="none" synonym="none" domain="ttlc" id="grosssal">gross
    sale</entry>

           <entry score="10" root="none" synonym="none" domain="ttlc"
    id="trinidad">Trinidad</entry>

           <entry score="10" root="none" synonym="none" domain="ttlc" id="home"></entry>

           <entry score="10" root="none" synonym="know" domain="ttlc" id="knew"></entry>

           <entry score="10" root="none" synonym="none" domain="ttlc"
    id="massachusett">Massachusetts</entry>

           <entry score="10" root="none" synonym="none" domain="ttlc"
    id="denver">Denver</entry>

           <entry score="5" root="none" synonym="none" domain="ttlc" id="instead"></
    entry>

           <entry score="10" root="none" synonym="unallow" domain="ttlc"
    id="disallow">not allowed</entry>

           <entry score="5" root="none" synonym="see" domain="ttlc" id="saw"></entry>

    

      	
  
regular expressions (many)
if text =~ / any/	
  	text.gsub!(/ any where /, ' anywhere ')

     text.gsub!(/ any(body| body| one) /, ' anyone ')

     text.gsub!(/ any( thing| things|things) /, ' anything ')

     text.gsub!(/ any(one|thing|where) else /, ' any1 ’)	
end	
	
if text =~ / don / 	
  	text.gsub!(/ don i /, ' do not i ')

     text.gsub!(/ don (have|know|see|want) /, ' do not 1 ')

     text.gsub!(/ (are|be|have|is|was|were) don /, ' 1 done ’)	
  	text.gsub!(/ don (not|nt|t) /, ' do not ’)	
end

     	
text.gsub!(/ (do|can) (ai|ii) /, ' 1 i ’)	
text.gsub!(/ d (oyou|you) /, ' do you ')

     	
text.gsub!(/ (1|ai|ii|my) (did|do|had|have|was) /, ' i 2 ’)	
text.gsub!(/ crap{1,10} /, ' crap ’)	
text.gsub!(/ gr{1,} /, ' ') 	


    

Spell Checker

  Stemmer (Porter)

  Word Collocation

Stop Phrase Correction

 Stop Word Removal

Synonyms Substitution

Tax Domain Correction

   Phrase Encoding
# NLP is not easy!	
  
# this class wraps our NLP	
sf = SemanticFilter.new	
	
# does it work?	
sf.act_on_post( "HwO do iput 10 99 i don,t
     know what to do need help help me." )	
=>[" wheretoent 1099 ”]	
	
sf.act_on_post( "Where do I enter a 1099?" )	
=>[" wheretoent 1099 ”]	
	
  
NLP
•    Search is not enough…unfortunately
•    Our domain is noisy…ugly at times
•    How it works…
•    It works well, but it’s not perfect
“Stop guessing what
  I’m looking for!”
NLP
•    Search is not enough…unfortunately
•    Our domain is noisy…ugly at times
•    How it works…
•    It works well, but it’s not perfect
•    Not just for search…
Recommendations
•  Deliver unanswered questions to
   contributors
Recommendations
•  Deliver unanswered questions to
   contributors
•  Too much content to scan manually
Recommendations
•  Deliver unanswered questions to
   contributors
•  Too much content to scan manually
•  Based on past answering behavior
Recommendations
•  Deliver unanswered questions to
   contributors
•  Too much content to scan manually
•  Based on past answering behavior
•  Recommend a question to multiple
   contributors
Recommendations
•  Deliver unanswered questions to
   contributors
•  Too much content to scan manually
•  Based on past answering behavior
•  Recommend a question to multiple
   contributors
•  Uses Mahout machine learning library
Answered      Unanswered


  NLP                NLP

  User           Post
 vectors        vectors

         Mahout


        Heuristics
Next Steps
•  We’re going to rewrite it!
Next Steps
•  We’re going to rewrite it! … most of it ;)
Next Steps
•  We’re going to rewrite it! … most of it ;)
•  Real-time indexing
Next Steps
•  We’re going to rewrite it! … most of it ;)
•  Real-time indexing
•  Question vs. Query
Next Steps
•    We’re going to rewrite it! … most of it ;)
•    Real-time indexing
•    Question vs. Query
•    Social feedback
     – Page ranking
Next Steps
•  We’re going to rewrite it! … most of it ;)
•  Real-time indexing
•  Question vs. Query
•  Social feedback
   – Page ranking
•  Social dictionaries
   – Content classification
Next Steps
•  We’re going to rewrite it! … most of it ;)
•  Real-time indexing
•  Question vs. Query
•  Social feedback
   – Page ranking
•  Social dictionaries
   – Content classification
•  Beer?!
Thank	
  you.	
  
           	
  
Floyd_Morgan@intuit.com	
  
       @fmorgan	
  
Appendix	
  
•  User	
  search	
  
•  SEO	
  

Contenu connexe

En vedette

Presentation to the Old Dominion University (ODU) MBA Association, 3/20/13
Presentation to the Old Dominion University (ODU) MBA Association, 3/20/13Presentation to the Old Dominion University (ODU) MBA Association, 3/20/13
Presentation to the Old Dominion University (ODU) MBA Association, 3/20/13Marty Kaszubowski
 
Already, just, still, yet
Already, just, still, yetAlready, just, still, yet
Already, just, still, yettanica
 
まっちゃ4451LT「IE の InPrivateブラウズ」
まっちゃ4451LT「IE の InPrivateブラウズ」まっちゃ4451LT「IE の InPrivateブラウズ」
まっちゃ4451LT「IE の InPrivateブラウズ」彰 村地
 
IAMAS 2010 First presentation
IAMAS 2010 First presentationIAMAS 2010 First presentation
IAMAS 2010 First presentationocrock
 
Test Driven Relevancy, Presented by Doug Turnbull at SolrExchage DC
Test Driven Relevancy, Presented by Doug Turnbull at SolrExchage DCTest Driven Relevancy, Presented by Doug Turnbull at SolrExchage DC
Test Driven Relevancy, Presented by Doug Turnbull at SolrExchage DCLucidworks (Archived)
 
Minneapolis Solr Meetup - May 28, 2014: Target.com Search
Minneapolis Solr Meetup - May 28, 2014: Target.com SearchMinneapolis Solr Meetup - May 28, 2014: Target.com Search
Minneapolis Solr Meetup - May 28, 2014: Target.com SearchLucidworks (Archived)
 
Building a Lightweight Discovery Interface for Chinese Patents, Presented by ...
Building a Lightweight Discovery Interface for Chinese Patents, Presented by ...Building a Lightweight Discovery Interface for Chinese Patents, Presented by ...
Building a Lightweight Discovery Interface for Chinese Patents, Presented by ...Lucidworks (Archived)
 
Pista American Idiot
Pista American IdiotPista American Idiot
Pista American Idiottanica
 
Discover the new techniques about search application
Discover the new techniques about search applicationDiscover the new techniques about search application
Discover the new techniques about search applicationLucidworks (Archived)
 
Нестандартные методы интернет рекламы
Нестандартные методы интернет рекламыНестандартные методы интернет рекламы
Нестандартные методы интернет рекламыVladimir
 
Integrating Advanced Text Analytics into Solr
Integrating Advanced Text Analytics into SolrIntegrating Advanced Text Analytics into Solr
Integrating Advanced Text Analytics into SolrLucidworks (Archived)
 
基于成本代理模型的Ip长途网络成本仿真研究
基于成本代理模型的Ip长途网络成本仿真研究基于成本代理模型的Ip长途网络成本仿真研究
基于成本代理模型的Ip长途网络成本仿真研究sjm44
 
"A Study of I/O and Virtualization Performance with a Search Engine based on ...
"A Study of I/O and Virtualization Performance with a Search Engine based on ..."A Study of I/O and Virtualization Performance with a Search Engine based on ...
"A Study of I/O and Virtualization Performance with a Search Engine based on ...Lucidworks (Archived)
 
Indexing Text and HTML Files with Solr
Indexing Text and HTML Files with SolrIndexing Text and HTML Files with Solr
Indexing Text and HTML Files with SolrLucidworks (Archived)
 
Lucy in the sky[1]
Lucy in the sky[1]Lucy in the sky[1]
Lucy in the sky[1]tanica
 

En vedette (18)

Cmd Training Institute - New Premises
Cmd Training Institute - New PremisesCmd Training Institute - New Premises
Cmd Training Institute - New Premises
 
Open Source Search Applications
Open Source Search ApplicationsOpen Source Search Applications
Open Source Search Applications
 
Presentation to the Old Dominion University (ODU) MBA Association, 3/20/13
Presentation to the Old Dominion University (ODU) MBA Association, 3/20/13Presentation to the Old Dominion University (ODU) MBA Association, 3/20/13
Presentation to the Old Dominion University (ODU) MBA Association, 3/20/13
 
Already, just, still, yet
Already, just, still, yetAlready, just, still, yet
Already, just, still, yet
 
まっちゃ4451LT「IE の InPrivateブラウズ」
まっちゃ4451LT「IE の InPrivateブラウズ」まっちゃ4451LT「IE の InPrivateブラウズ」
まっちゃ4451LT「IE の InPrivateブラウズ」
 
IAMAS 2010 First presentation
IAMAS 2010 First presentationIAMAS 2010 First presentation
IAMAS 2010 First presentation
 
Test Driven Relevancy, Presented by Doug Turnbull at SolrExchage DC
Test Driven Relevancy, Presented by Doug Turnbull at SolrExchage DCTest Driven Relevancy, Presented by Doug Turnbull at SolrExchage DC
Test Driven Relevancy, Presented by Doug Turnbull at SolrExchage DC
 
Minneapolis Solr Meetup - May 28, 2014: Target.com Search
Minneapolis Solr Meetup - May 28, 2014: Target.com SearchMinneapolis Solr Meetup - May 28, 2014: Target.com Search
Minneapolis Solr Meetup - May 28, 2014: Target.com Search
 
Building a Lightweight Discovery Interface for Chinese Patents, Presented by ...
Building a Lightweight Discovery Interface for Chinese Patents, Presented by ...Building a Lightweight Discovery Interface for Chinese Patents, Presented by ...
Building a Lightweight Discovery Interface for Chinese Patents, Presented by ...
 
Pista American Idiot
Pista American IdiotPista American Idiot
Pista American Idiot
 
Discover the new techniques about search application
Discover the new techniques about search applicationDiscover the new techniques about search application
Discover the new techniques about search application
 
Нестандартные методы интернет рекламы
Нестандартные методы интернет рекламыНестандартные методы интернет рекламы
Нестандартные методы интернет рекламы
 
Integrating Advanced Text Analytics into Solr
Integrating Advanced Text Analytics into SolrIntegrating Advanced Text Analytics into Solr
Integrating Advanced Text Analytics into Solr
 
基于成本代理模型的Ip长途网络成本仿真研究
基于成本代理模型的Ip长途网络成本仿真研究基于成本代理模型的Ip长途网络成本仿真研究
基于成本代理模型的Ip长途网络成本仿真研究
 
"A Study of I/O and Virtualization Performance with a Search Engine based on ...
"A Study of I/O and Virtualization Performance with a Search Engine based on ..."A Study of I/O and Virtualization Performance with a Search Engine based on ...
"A Study of I/O and Virtualization Performance with a Search Engine based on ...
 
Indexing Text and HTML Files with Solr
Indexing Text and HTML Files with SolrIndexing Text and HTML Files with Solr
Indexing Text and HTML Files with Solr
 
What’s new in apache lucene 3.0
What’s new in apache lucene 3.0What’s new in apache lucene 3.0
What’s new in apache lucene 3.0
 
Lucy in the sky[1]
Lucy in the sky[1]Lucy in the sky[1]
Lucy in the sky[1]
 

Similaire à Morgan Floyd - Intuit's Live Community

Open Source as a Viable Business Model
Open Source as a Viable Business ModelOpen Source as a Viable Business Model
Open Source as a Viable Business ModelTien-Soon Law
 
Elasticsearch : petit déjeuner du 13 mars 2014
Elasticsearch : petit déjeuner du 13 mars 2014Elasticsearch : petit déjeuner du 13 mars 2014
Elasticsearch : petit déjeuner du 13 mars 2014ALTER WAY
 
Apache Geode - The First Six Months
Apache Geode -  The First Six MonthsApache Geode -  The First Six Months
Apache Geode - The First Six MonthsAnthony Baker
 
Atlassian Executive Business Forum - LinkedIn HQ
Atlassian Executive Business Forum - LinkedIn HQAtlassian Executive Business Forum - LinkedIn HQ
Atlassian Executive Business Forum - LinkedIn HQServiceRocket
 
Open Data Business Models - OSCON 2011
Open Data Business Models - OSCON 2011Open Data Business Models - OSCON 2011
Open Data Business Models - OSCON 2011lukec
 
Webinar - QuickBooks Online for New Nonprofit Users - 2018-3-8
Webinar -  QuickBooks Online for New Nonprofit Users - 2018-3-8Webinar -  QuickBooks Online for New Nonprofit Users - 2018-3-8
Webinar - QuickBooks Online for New Nonprofit Users - 2018-3-8TechSoup
 
Story of Multnomah County: Migrating from Vignette and Building a Drupal Ecos...
Story of Multnomah County: Migrating from Vignette and Building a Drupal Ecos...Story of Multnomah County: Migrating from Vignette and Building a Drupal Ecos...
Story of Multnomah County: Migrating from Vignette and Building a Drupal Ecos...Acquia
 
Search Engine Optimize for WordPress in 3 Easy Steps
Search Engine Optimize for WordPress in 3 Easy StepsSearch Engine Optimize for WordPress in 3 Easy Steps
Search Engine Optimize for WordPress in 3 Easy StepsAnna Belle Leiserson
 
Growth Hacking with Digital Marketing
Growth Hacking with Digital MarketingGrowth Hacking with Digital Marketing
Growth Hacking with Digital MarketingNavneet Kaushal
 
SEO - What is it?
SEO - What is it?SEO - What is it?
SEO - What is it?Woj Kwasi
 
Delivering Search for Today's Local, Social, and Mobile Applications
Delivering Search for Today's Local, Social, and Mobile ApplicationsDelivering Search for Today's Local, Social, and Mobile Applications
Delivering Search for Today's Local, Social, and Mobile ApplicationsAmazon Web Services
 
Social Intranets on Liferay for Smarter Enterprise Collaboration
Social Intranets on Liferay for Smarter Enterprise CollaborationSocial Intranets on Liferay for Smarter Enterprise Collaboration
Social Intranets on Liferay for Smarter Enterprise Collaborationrivetlogic
 
Blogs and RSS – Trawling the Internet for Meaning
Blogs and RSS – Trawling the Internet for MeaningBlogs and RSS – Trawling the Internet for Meaning
Blogs and RSS – Trawling the Internet for MeaningESUG
 
Building A Business-Facing Mobile Developer Community
Building A Business-Facing Mobile Developer CommunityBuilding A Business-Facing Mobile Developer Community
Building A Business-Facing Mobile Developer CommunityProgrammableWeb
 
Confused CMS Presentation - Internet World London 2011 #iwexpo. Delivered on...
Confused CMS Presentation - Internet World London 2011 #iwexpo.  Delivered on...Confused CMS Presentation - Internet World London 2011 #iwexpo.  Delivered on...
Confused CMS Presentation - Internet World London 2011 #iwexpo. Delivered on...✪ Chris Lewis ✪
 
Tiago Fonseca & Rui Velho - Syone & Leroy Merlin - OSL19
Tiago Fonseca & Rui Velho - Syone & Leroy Merlin - OSL19Tiago Fonseca & Rui Velho - Syone & Leroy Merlin - OSL19
Tiago Fonseca & Rui Velho - Syone & Leroy Merlin - OSL19marketingsyone
 
Solr Under the Hood at S&P Global- Sumit Vadhera, S&P Global
Solr Under the Hood at S&P Global- Sumit Vadhera, S&P Global Solr Under the Hood at S&P Global- Sumit Vadhera, S&P Global
Solr Under the Hood at S&P Global- Sumit Vadhera, S&P Global Lucidworks
 

Similaire à Morgan Floyd - Intuit's Live Community (20)

Open Source as a Viable Business Model
Open Source as a Viable Business ModelOpen Source as a Viable Business Model
Open Source as a Viable Business Model
 
Elasticsearch : petit déjeuner du 13 mars 2014
Elasticsearch : petit déjeuner du 13 mars 2014Elasticsearch : petit déjeuner du 13 mars 2014
Elasticsearch : petit déjeuner du 13 mars 2014
 
Attini intro
Attini introAttini intro
Attini intro
 
Apache Geode - The First Six Months
Apache Geode -  The First Six MonthsApache Geode -  The First Six Months
Apache Geode - The First Six Months
 
Atlassian Executive Business Forum - LinkedIn HQ
Atlassian Executive Business Forum - LinkedIn HQAtlassian Executive Business Forum - LinkedIn HQ
Atlassian Executive Business Forum - LinkedIn HQ
 
Open Data Business Models - OSCON 2011
Open Data Business Models - OSCON 2011Open Data Business Models - OSCON 2011
Open Data Business Models - OSCON 2011
 
Webinar - QuickBooks Online for New Nonprofit Users - 2018-3-8
Webinar -  QuickBooks Online for New Nonprofit Users - 2018-3-8Webinar -  QuickBooks Online for New Nonprofit Users - 2018-3-8
Webinar - QuickBooks Online for New Nonprofit Users - 2018-3-8
 
Story of Multnomah County: Migrating from Vignette and Building a Drupal Ecos...
Story of Multnomah County: Migrating from Vignette and Building a Drupal Ecos...Story of Multnomah County: Migrating from Vignette and Building a Drupal Ecos...
Story of Multnomah County: Migrating from Vignette and Building a Drupal Ecos...
 
Search Engine Optimize for WordPress in 3 Easy Steps
Search Engine Optimize for WordPress in 3 Easy StepsSearch Engine Optimize for WordPress in 3 Easy Steps
Search Engine Optimize for WordPress in 3 Easy Steps
 
Growth Hacking with Digital Marketing
Growth Hacking with Digital MarketingGrowth Hacking with Digital Marketing
Growth Hacking with Digital Marketing
 
SEO - What is it?
SEO - What is it?SEO - What is it?
SEO - What is it?
 
Delivering Search for Today's Local, Social, and Mobile Applications
Delivering Search for Today's Local, Social, and Mobile ApplicationsDelivering Search for Today's Local, Social, and Mobile Applications
Delivering Search for Today's Local, Social, and Mobile Applications
 
Echelon2010
Echelon2010Echelon2010
Echelon2010
 
Social Intranets on Liferay for Smarter Enterprise Collaboration
Social Intranets on Liferay for Smarter Enterprise CollaborationSocial Intranets on Liferay for Smarter Enterprise Collaboration
Social Intranets on Liferay for Smarter Enterprise Collaboration
 
Blogs and RSS – Trawling the Internet for Meaning
Blogs and RSS – Trawling the Internet for MeaningBlogs and RSS – Trawling the Internet for Meaning
Blogs and RSS – Trawling the Internet for Meaning
 
Building A Business-Facing Mobile Developer Community
Building A Business-Facing Mobile Developer CommunityBuilding A Business-Facing Mobile Developer Community
Building A Business-Facing Mobile Developer Community
 
Confused CMS Presentation - Internet World London 2011 #iwexpo. Delivered on...
Confused CMS Presentation - Internet World London 2011 #iwexpo.  Delivered on...Confused CMS Presentation - Internet World London 2011 #iwexpo.  Delivered on...
Confused CMS Presentation - Internet World London 2011 #iwexpo. Delivered on...
 
Tiago Fonseca & Rui Velho - Syone & Leroy Merlin - OSL19
Tiago Fonseca & Rui Velho - Syone & Leroy Merlin - OSL19Tiago Fonseca & Rui Velho - Syone & Leroy Merlin - OSL19
Tiago Fonseca & Rui Velho - Syone & Leroy Merlin - OSL19
 
Seoul Conference - Marketing Presentation
Seoul Conference - Marketing PresentationSeoul Conference - Marketing Presentation
Seoul Conference - Marketing Presentation
 
Solr Under the Hood at S&P Global- Sumit Vadhera, S&P Global
Solr Under the Hood at S&P Global- Sumit Vadhera, S&P Global Solr Under the Hood at S&P Global- Sumit Vadhera, S&P Global
Solr Under the Hood at S&P Global- Sumit Vadhera, S&P Global
 

Plus de Lucidworks (Archived)

Downtown SF Lucene/Solr Meetup - September 17: Thoth: Real-time Solr Monitori...
Downtown SF Lucene/Solr Meetup - September 17: Thoth: Real-time Solr Monitori...Downtown SF Lucene/Solr Meetup - September 17: Thoth: Real-time Solr Monitori...
Downtown SF Lucene/Solr Meetup - September 17: Thoth: Real-time Solr Monitori...Lucidworks (Archived)
 
SFBay Area Solr Meetup - July 15th: Integrating Hadoop and Solr
 SFBay Area Solr Meetup - July 15th: Integrating Hadoop and Solr SFBay Area Solr Meetup - July 15th: Integrating Hadoop and Solr
SFBay Area Solr Meetup - July 15th: Integrating Hadoop and SolrLucidworks (Archived)
 
SFBay Area Solr Meetup - June 18th: Box + Solr = Content Search for Business
SFBay Area Solr Meetup - June 18th: Box + Solr = Content Search for BusinessSFBay Area Solr Meetup - June 18th: Box + Solr = Content Search for Business
SFBay Area Solr Meetup - June 18th: Box + Solr = Content Search for BusinessLucidworks (Archived)
 
SFBay Area Solr Meetup - June 18th: Benchmarking Solr Performance
SFBay Area Solr Meetup - June 18th: Benchmarking Solr PerformanceSFBay Area Solr Meetup - June 18th: Benchmarking Solr Performance
SFBay Area Solr Meetup - June 18th: Benchmarking Solr PerformanceLucidworks (Archived)
 
Chicago Solr Meetup - June 10th: This Ain't Your Parents' Search Engine
Chicago Solr Meetup - June 10th: This Ain't Your Parents' Search EngineChicago Solr Meetup - June 10th: This Ain't Your Parents' Search Engine
Chicago Solr Meetup - June 10th: This Ain't Your Parents' Search EngineLucidworks (Archived)
 
Chicago Solr Meetup - June 10th: Exploring Hadoop with Search
Chicago Solr Meetup - June 10th: Exploring Hadoop with SearchChicago Solr Meetup - June 10th: Exploring Hadoop with Search
Chicago Solr Meetup - June 10th: Exploring Hadoop with SearchLucidworks (Archived)
 
Minneapolis Solr Meetup - May 28, 2014: eCommerce Search with Apache Solr
Minneapolis Solr Meetup - May 28, 2014: eCommerce Search with Apache SolrMinneapolis Solr Meetup - May 28, 2014: eCommerce Search with Apache Solr
Minneapolis Solr Meetup - May 28, 2014: eCommerce Search with Apache SolrLucidworks (Archived)
 
Unstructured Or: How I Learned to Stop Worrying and Love the xml, Presented...
Unstructured   Or: How I Learned to Stop Worrying and Love the xml, Presented...Unstructured   Or: How I Learned to Stop Worrying and Love the xml, Presented...
Unstructured Or: How I Learned to Stop Worrying and Love the xml, Presented...Lucidworks (Archived)
 
Big Data Challenges, Presented by Wes Caldwell at SolrExchage DC
Big Data Challenges, Presented by Wes Caldwell at SolrExchage DCBig Data Challenges, Presented by Wes Caldwell at SolrExchage DC
Big Data Challenges, Presented by Wes Caldwell at SolrExchage DCLucidworks (Archived)
 
What's New in Lucene/Solr Presented by Grant Ingersoll at SolrExchage DC
What's New  in Lucene/Solr Presented by Grant Ingersoll at SolrExchage DCWhat's New  in Lucene/Solr Presented by Grant Ingersoll at SolrExchage DC
What's New in Lucene/Solr Presented by Grant Ingersoll at SolrExchage DCLucidworks (Archived)
 
Solr At AOL, Presented by Sean Timm at SolrExchage DC
Solr At AOL, Presented by Sean Timm at SolrExchage DCSolr At AOL, Presented by Sean Timm at SolrExchage DC
Solr At AOL, Presented by Sean Timm at SolrExchage DCLucidworks (Archived)
 
Intro to Solr Cloud, Presented by Tim Potter at SolrExchage DC
Intro to Solr Cloud, Presented by Tim Potter at SolrExchage DCIntro to Solr Cloud, Presented by Tim Potter at SolrExchage DC
Intro to Solr Cloud, Presented by Tim Potter at SolrExchage DCLucidworks (Archived)
 
Building a data driven search application with LucidWorks SiLK
Building a data driven search application with LucidWorks SiLKBuilding a data driven search application with LucidWorks SiLK
Building a data driven search application with LucidWorks SiLKLucidworks (Archived)
 
Introducing LucidWorks App for Splunk Enterprise webinar
Introducing LucidWorks App for Splunk Enterprise webinarIntroducing LucidWorks App for Splunk Enterprise webinar
Introducing LucidWorks App for Splunk Enterprise webinarLucidworks (Archived)
 
Lucene/Solr Revolution 2013: Paul Doscher Opening Remarks
Lucene/Solr Revolution 2013: Paul Doscher Opening Remarks Lucene/Solr Revolution 2013: Paul Doscher Opening Remarks
Lucene/Solr Revolution 2013: Paul Doscher Opening Remarks Lucidworks (Archived)
 
Seeley yonik solr performance key innovations
Seeley yonik   solr performance key innovationsSeeley yonik   solr performance key innovations
Seeley yonik solr performance key innovationsLucidworks (Archived)
 

Plus de Lucidworks (Archived) (20)

Integrating Hadoop & Solr
Integrating Hadoop & SolrIntegrating Hadoop & Solr
Integrating Hadoop & Solr
 
The Data-Driven Paradigm
The Data-Driven ParadigmThe Data-Driven Paradigm
The Data-Driven Paradigm
 
Downtown SF Lucene/Solr Meetup - September 17: Thoth: Real-time Solr Monitori...
Downtown SF Lucene/Solr Meetup - September 17: Thoth: Real-time Solr Monitori...Downtown SF Lucene/Solr Meetup - September 17: Thoth: Real-time Solr Monitori...
Downtown SF Lucene/Solr Meetup - September 17: Thoth: Real-time Solr Monitori...
 
SFBay Area Solr Meetup - July 15th: Integrating Hadoop and Solr
 SFBay Area Solr Meetup - July 15th: Integrating Hadoop and Solr SFBay Area Solr Meetup - July 15th: Integrating Hadoop and Solr
SFBay Area Solr Meetup - July 15th: Integrating Hadoop and Solr
 
SFBay Area Solr Meetup - June 18th: Box + Solr = Content Search for Business
SFBay Area Solr Meetup - June 18th: Box + Solr = Content Search for BusinessSFBay Area Solr Meetup - June 18th: Box + Solr = Content Search for Business
SFBay Area Solr Meetup - June 18th: Box + Solr = Content Search for Business
 
SFBay Area Solr Meetup - June 18th: Benchmarking Solr Performance
SFBay Area Solr Meetup - June 18th: Benchmarking Solr PerformanceSFBay Area Solr Meetup - June 18th: Benchmarking Solr Performance
SFBay Area Solr Meetup - June 18th: Benchmarking Solr Performance
 
Chicago Solr Meetup - June 10th: This Ain't Your Parents' Search Engine
Chicago Solr Meetup - June 10th: This Ain't Your Parents' Search EngineChicago Solr Meetup - June 10th: This Ain't Your Parents' Search Engine
Chicago Solr Meetup - June 10th: This Ain't Your Parents' Search Engine
 
Chicago Solr Meetup - June 10th: Exploring Hadoop with Search
Chicago Solr Meetup - June 10th: Exploring Hadoop with SearchChicago Solr Meetup - June 10th: Exploring Hadoop with Search
Chicago Solr Meetup - June 10th: Exploring Hadoop with Search
 
What's new in solr june 2014
What's new in solr june 2014What's new in solr june 2014
What's new in solr june 2014
 
Minneapolis Solr Meetup - May 28, 2014: eCommerce Search with Apache Solr
Minneapolis Solr Meetup - May 28, 2014: eCommerce Search with Apache SolrMinneapolis Solr Meetup - May 28, 2014: eCommerce Search with Apache Solr
Minneapolis Solr Meetup - May 28, 2014: eCommerce Search with Apache Solr
 
Unstructured Or: How I Learned to Stop Worrying and Love the xml, Presented...
Unstructured   Or: How I Learned to Stop Worrying and Love the xml, Presented...Unstructured   Or: How I Learned to Stop Worrying and Love the xml, Presented...
Unstructured Or: How I Learned to Stop Worrying and Love the xml, Presented...
 
Big Data Challenges, Presented by Wes Caldwell at SolrExchage DC
Big Data Challenges, Presented by Wes Caldwell at SolrExchage DCBig Data Challenges, Presented by Wes Caldwell at SolrExchage DC
Big Data Challenges, Presented by Wes Caldwell at SolrExchage DC
 
What's New in Lucene/Solr Presented by Grant Ingersoll at SolrExchage DC
What's New  in Lucene/Solr Presented by Grant Ingersoll at SolrExchage DCWhat's New  in Lucene/Solr Presented by Grant Ingersoll at SolrExchage DC
What's New in Lucene/Solr Presented by Grant Ingersoll at SolrExchage DC
 
Solr At AOL, Presented by Sean Timm at SolrExchage DC
Solr At AOL, Presented by Sean Timm at SolrExchage DCSolr At AOL, Presented by Sean Timm at SolrExchage DC
Solr At AOL, Presented by Sean Timm at SolrExchage DC
 
Intro to Solr Cloud, Presented by Tim Potter at SolrExchage DC
Intro to Solr Cloud, Presented by Tim Potter at SolrExchage DCIntro to Solr Cloud, Presented by Tim Potter at SolrExchage DC
Intro to Solr Cloud, Presented by Tim Potter at SolrExchage DC
 
Building a data driven search application with LucidWorks SiLK
Building a data driven search application with LucidWorks SiLKBuilding a data driven search application with LucidWorks SiLK
Building a data driven search application with LucidWorks SiLK
 
Introducing LucidWorks App for Splunk Enterprise webinar
Introducing LucidWorks App for Splunk Enterprise webinarIntroducing LucidWorks App for Splunk Enterprise webinar
Introducing LucidWorks App for Splunk Enterprise webinar
 
Solr4 nosql search_server_2013
Solr4 nosql search_server_2013Solr4 nosql search_server_2013
Solr4 nosql search_server_2013
 
Lucene/Solr Revolution 2013: Paul Doscher Opening Remarks
Lucene/Solr Revolution 2013: Paul Doscher Opening Remarks Lucene/Solr Revolution 2013: Paul Doscher Opening Remarks
Lucene/Solr Revolution 2013: Paul Doscher Opening Remarks
 
Seeley yonik solr performance key innovations
Seeley yonik   solr performance key innovationsSeeley yonik   solr performance key innovations
Seeley yonik solr performance key innovations
 

Dernier

"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...Fwdays
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteDianaGray10
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsMiki Katsuragi
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clashcharlottematthew16
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 

Dernier (20)

"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering Tips
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clash
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 

Morgan Floyd - Intuit's Live Community

  • 1. Floyd Morgan Floyd_Morgan@intuit.com @fmorgan Lucene Revolution, 2011
  • 2. Agenda •  About Me •  About Live Community •  Live Community Search •  NLP •  Next Steps •  Questions? Answers?
  • 3. About Me •  Principal Software Engineer at Intuit  
  • 4. Intuit QuickBase Intuit Inc. is a leading provider of business and financial management solutions for small and mid-sized businesses; financial institutions, including banks and credit unions; consumers and accounting professionals. More  than  200  applica0ons  and  7700  employees  worldwide.  
  • 5. About Me •  Principal Software Engineer at Intuit •  TurboTax Engineering  
  • 6. TurboTax is the nation’s No. 1 rated, best-selling, do-it-yourself tax preparation software. TurboTax helps more than 20 million people a year. $1 billion in revenue
  • 7. About Me •  Principal Software Engineer at Intuit •  TurboTax Engineering –  Core tax engine  
  • 8. About Me •  Principal Software Engineer at Intuit •  TurboTax Engineering –  Core tax engine –  TurboTax Online
  • 9. About Me •  Principal Software Engineer at Intuit •  TurboTax Engineering –  Core tax engine –  TurboTax Online –  TurboTax Live Community
  • 10. About Me •  Principal Software Engineer at Intuit •  TurboTax Engineering –  Core tax engine –  TurboTax Online –  TurboTax Live Community •  Central Technology Organization –  Live Community Platform
  • 11.
  • 12. About Live Community •  It’s a user contribution system –  Q&A
  • 13. About Live Community •  It’s a user contribution system –  Q&A •  It can be integrated into an application, contextually –  Page-to-page relevance
  • 14. About Live Community •  It’s a user contribution system –  Q&A •  It can be integrated into an application, contextually –  Page-to-page relevance •  We use social, technology and data –  To create our value proposition…assisting users
  • 15. About Live Community •  It’s a user contribution system –  Q&A •  It can be integrated into an application, contextually –  Page-to-page relevance •  We use social, technology and data –  To create our value proposition…assisting users •  We launched our Beta in 2007 –  TurboTax Online Home & Business
  • 16. About Live Community •  It’s a user contribution system –  Q&A •  It can be integrated into an application, contextually –  Page-to-page relevance •  We use social, technology and data –  To create our value proposition…assisting users •  We launched our Beta in 2007 –  TurboTax Online Home & Business •  We use open source…primarily open source –  Apache HTTP, Ruby on Rails, MySQL, memcached ...
  • 17. About Live Community •  It’s a user contribution system –  Q&A •  It can be integrated into an application, contextually –  Page-to-page relevance •  We use social, technology and data –  To create our value proposition…assisting users •  We launched our Beta in 2007 –  TurboTax Online Home & Business •  We use open source…primarily open source –  Apache HTTP, Ruby on Rails, MySQL, memcached ... •  It’s a platform –  APIs, skinning, dynamic provisioning (AWS in progress)
  • 22. TurboTax Desktop & Online, US
  • 24. Consumers (in the millions)
  • 25. Contributors (in the thousands)
  • 26. Top Contributors (in the hundreds)
  • 28. Tax Season Officially begins on December 1 and ends on April 15.
  • 29. About TurboTax Live Community •  Largest community –  150+ servers, 200 thousand concurrent users
  • 30. About TurboTax Live Community •  Largest community –  150+ servers, 200 thousand concurrent users •  Over 23 million users have used the service –  Over 8 million last tax season alone
  • 31. About TurboTax Live Community •  Largest community –  150+ servers, 200 thousand concurrent users •  Over 23 million users have used the service –  Over 8 million last tax season alone •  Over 32 million pages views last tax season –  In-product views in the billions
  • 32. About TurboTax Live Community •  Largest community –  150+ servers, 200 thousand concurrent users •  Over 23 million users have used the service –  Over 8 million last tax season alone •  Over 32 million pages views last tax season –  In-product views in the billions •  Over 750 thousand answered questions –  10 thousand questions asked on peak day
  • 33. About TurboTax Live Community •  Largest community –  150+ servers, 200 thousand concurrent users •  Over 23 million users have used the service –  Over 8 million last tax season alone •  Over 32 million pages views last tax season –  In-product views in the billions •  Over 750 thousand answered questions –  10 thousand questions asked on peak day •  Our contributors answers thousands of questions –  Top contributor – 70 thousand answers
  • 34. Demo
  • 35. Live Community Search •  Why Solr? •  Auto suggest •  In-product search •  Web-site search •  Instant answer •  Instant question •  Answer bot •  Advertising •  Search everywhere •  Architecture
  • 36.
  • 37. Why Solr? •  Lots of features/functionality  
  • 38. Why Solr? •  Lots of features/functionality •  Ease of integration  
  • 39. Why Solr? •  Lots of features/functionality •  Ease of integration •  We can scale it independently  
  • 40. Why Solr? •  Lots of features/functionality •  Ease of integration •  We can scale it independently •  You’ll need some search expertise…that’s ok –  Community and Lucid Imagination!  
  • 41. Why Solr? •  Lots of features/functionality •  Ease of integration •  We can scale it independently •  You’ll need some search expertise…that’s ok –  Community and Lucid Imagination! •  Search is really important –  Search everywhere…  
  • 42. Why Solr? •  Lots of features/functionality •  Ease of integration •  We can scale it independently •  You’ll need some search expertise…that’s ok –  Community and Lucid Imagination! •  Search is really important –  Search everywhere…  
  • 43. Live Community Search •  Why Solr? •  Auto suggest •  In-product search •  Web-site search •  Instant answer •  Instant question •  Answer bot •  Advertising •  Search everywhere •  Architecture
  • 44.
  • 45.
  • 46.
  • 47.
  • 48. Auto suggest •  Provides a glimpse of our vast content
  • 49. Auto suggest •  Provides a glimpse of our vast content •  facet query (Solr 1.2)
  • 50. Auto suggest •  Provides a glimpse of our vast content •  facet query (Solr 1.2) •  We use NLP…
  • 51. Auto suggest •  Provides a glimpse of our vast content •  facet query (Solr 1.2) •  We use NLP… •  It’s used on every search touch point
  • 52. Auto suggest •  Provides a glimpse of our vast content •  facet query (Solr 1.2) •  We use NLP… •  It’s used on every search touch point •  Second most frequent request
  • 53. Live Community Search •  Why Solr? •  Auto suggest •  In-product search •  Web-site search •  Instant answer •  Instant question •  Answer bot •  Advertising •  Search everywhere •  Architecture
  • 54.
  • 55.
  • 56. In-product “mini” search •  Primary search interface for consumers  
  • 57. In-product “mini” search •  Primary search interface for consumers •  It appears integrated  
  • 58. In-product “mini” search •  Primary search interface for consumers •  It appears integrated •  Now the most utilized search interface  
  • 59. In-product “mini” search •  Primary search interface for consumers •  It appears integrated •  Now the most utilized search interface •  It makes all content available  
  • 60. In-product “mini” search •  Primary search interface for consumers •  It appears integrated •  Now the most utilized search interface •  It makes all content available •  Over 3 million users last tax season  
  • 61. # using Solr is easy!   require 'solr’ c = Solr::Connection.new( "http://localhost:8090/solr/posts" ) c.search( "how do i input 1099”, :filter_queries => "post_status: # {Post::ANSWERED}" )
  • 62. Live Community Search •  Why Solr? •  Auto suggest •  In-product search •  Web-site search •  Instant answer •  Instant question •  Answer bot •  Advertising •  Search everywhere •  Architecture
  • 63.
  • 64.
  • 65. Web-site “full” search •  Primary search interface for contributors and employees
  • 66. Web-site “full” search •  Primary search interface for contributors and employees •  More real estate, more facets, more suggestions ...
  • 67. Web-site “full” search •  Primary search interface for contributors and employees •  More real estate, more facets, more suggestions ... •  Faceted search empowers development teams to narrow on issues
  • 68. Web-site “full” search •  Primary search interface for contributors and employees •  More real estate, more facets, more suggestions ... •  Faceted search empowers development teams to narrow on issues •  200+ TurboTax issues discovered last tax season
  • 69.
  • 70.
  • 71. # using Solr is easy!   require 'solr’ c = Solr::Connection.new( "http://localhost:8090/solr/posts" ) c.search( ”bug”, :filter_queries => "post_status: # {Post::OPEN}" )
  • 72. Live Community Search •  Why Solr? •  Auto suggest •  In-product search •  Web-site search •  Instant answer •  Instant question •  Answer bot •  Advertising •  Search everywhere •  Architecture
  • 73.
  • 74. Instant answer •  Present similar answered question
  • 75. Instant answer •  Present similar answered question •  Search with the terms of the new question
  • 76. Instant answer •  Present similar answered question •  Search with the terms of the new question •  Narrow the focus to the subject
  • 77. Instant answer •  Present similar answered question •  Search with the terms of the new question •  Narrow the focus to the subject •  Show snippet of a recommended answer
  • 78. Instant answer •  Present similar answered question •  Search with the terms of the new question •  Narrow the focus to the subject •  Show snippet of a recommended answer •  Accidental A/B test
  • 79. Demo
  • 80. # using Solr is easy!   require 'solr’ c = Solr::Connection.new( "http://localhost:8090/solr/posts" ) c.search( "how do i input 1099”, { :query_fields => "subject", :filter_queries => "post_status: #{Post::ANSWERED}" } )
  • 81. Live Community Search •  Why Solr? •  Auto suggest •  In-product search •  Web-site search •  Instant answer •  Instant question •  Answer bot •  Advertising •  Search everywhere •  Architecture
  • 82.
  • 83. Instant question •  Present similar unanswered questions
  • 84. Instant question •  Present similar unanswered questions •  Answer reuse
  • 85. Instant question •  Present similar unanswered questions •  Answer reuse •  Search with the terms of the answered question
  • 86. Instant question •  Present similar unanswered questions •  Answer reuse •  Search with the terms of the answered question •  Narrow the focus to the subject
  • 87. Instant question •  Present similar unanswered questions •  Answer reuse •  Search with the terms of the answered question •  Narrow the focus to the subject •  We also use a date filter
  • 88. “Aren’t  we  addicted   enough!”  
  • 89. Demo
  • 90. # using Solr is easy!   require 'solr’ c = Solr::Connection.new( "http://localhost:8090/solr/posts" ) today = DateTime.now.at_beginning_of_day.utc.to_time date_from = 7.to_i.days.ago ( today ).getutc.iso8601 c.search( "how do i input 1099", { :query_fields => "subject", :filter_queries => "post_status: #{Post::OPEN} AND created_at_d:[#{date_from} TO *]" } )
  • 91. Live Community Search •  Why Solr? •  Auto suggest •  In-product search •  Web-site search •  Instant answer •  Instant question •  Answer bot •  Advertising •  Search everywhere •  Architecture
  • 92.
  • 93. Answer bot •  We continue to search for you –  The day after you ask
  • 94. Answer bot •  We continue to search for you –  The day after you ask •  Send an email
  • 95. Answer bot •  We continue to search for you –  The day after you ask •  Send an email •  Runs for 7 days
  • 96. Answer bot •  We continue to search for you –  The day after you ask •  Send an email •  Runs for 7 days •  We only send another email if the results have changed
  • 97. Answer bot •  We continue to search for you –  The day after you ask •  Send an email •  Runs for 7 days •  We only send another email if the results have changed •  From our explicit feedback –  39% answered question
  • 98.
  • 99. Live Community Search •  Why Solr? •  Auto suggest •  In-product search •  Web-site search •  Instant answer •  Instant question •  Answer bot •  Advertising •  Search everywhere •  Architecture
  • 100.
  • 101. Advertising •  We use our user generated content in advertising  
  • 102. Advertising •  We use our user generated content in advertising •  Has 300% higher click through rate than static banner ads  
  • 103. Advertising •  We use our user generated content in advertising •  Has 300% higher click through rate than static banner ads •  Ads displayed throughout the tax season on many ad networks  
  • 104. Advertising •  We use our user generated content in advertising •  Has 300% higher click through rate than static banner ads •  Ads displayed throughout the tax season on many ad networks •  Content selection is automated and continuous  
  • 105.
  • 106. Logs Logs Logs MapReduce Carrot2 Solr Heuristics
  • 107. <?xml version="1.0" encoding="UTF-8"?> 
 <lc_trending end_date="2011-05-21" include_popular="true" type="queries" duration="day"> 
 <topic> 
 <rank>1</rank> 
 <text>Ptp</text> 
 <post> 
 <post_id>aBHMBWxzar4lKMacfArRo0</post_id> 
 <subject>Final K-1 Disposition of PTP Units</subject> 
 <detail>I bought units in a PTP in five separate transactions in 2008; I sold all my units in five separate transactions in 2010. TT does not allow me to report all 5 transactions while stepping through the K-1 form -- these transactions are reported on Schedule D, but also need to be on Form 4797, Part II, Box 10. I can't seem to make the linkage work. I would appreciate some guidance on how to make this happen.</detail> 
 <response>OK, several steps needed for your situation:
 1) on the K-1 on the screen entitled Describe the Partnership Disposal, choose "Disposition was not via a sale"
 2) Then search for the topic "sale of business property" - you will be taked to a topic entitled "Any Other Property Sales?" - select the first option. Ove rthe next few screens here you will have the opportunityut to enter the sale amounts associated witht he Form 4797.
 
 3) then choose the topic on the income landing table for "Stocke, Mutual Funds, Bonds, other - here you will enter the rest of the sale, that portion attributable to capital gains.
 
 Hope this helps you,
 </response> 
 <viewsCount>60</viewsCount> 
 <answersCount>2</answersCount> 
 <asker>Xuxan</asker> 
 <display_post_url>https://ttlc.intuit.com/post/show_full/aBHMBWxzar4lKMacfArRo0? rmode=ad</display_post_url> 
 </post> 
  
  • 108. Live Community Search •  Why Solr? •  Auto suggest •  In-product search •  Web-site search •  Instant answer •  Instant question •  Answer bot •  Advertising •  Search everywhere •  Architecture
  • 109.
  • 110.
  • 111. Search everywhere •  Search first, ask second –  Used to be ask first, search later or never!
  • 112.
  • 113.
  • 114. Search everywhere •  Search first, ask second –  Used to be ask first, search later or never! •  Auto complete everywhere too –  64 bit Linux, 10 (8 core) slaves, 300 req/s
  • 115. Search everywhere •  Search first, ask second –  Used to be ask first, search later or never! •  Auto complete everywhere too –  64 bit Linux, 10 (8 core) slaves, 300 req/s •  Search requests –  900 % increase
  • 116. Search everywhere •  Search first, ask second –  Used to be ask first, search later or never! •  Auto complete everywhere too –  64 bit Linux, 10 (8 core) slaves, 300 req/s •  Search requests –  900 % increase •  Questions asked –  50 % decrease…is that good?
  • 117. Search everywhere •  Search first, ask second –  Used to be ask first, search later or never! •  Auto complete everywhere too –  64 bit Linux, 10 (8 core) slaves, 300 req/s •  Search requests –  900 % increase •  Questions asked –  50 % decrease…is that good? •  Increased consumption –  38% users, 43% content…very good!
  • 118. Live Community Search •  Why Solr? •  Auto suggest •  In-product search •  Web-site search •  Instant answer •  Instant question •  Answer bot •  Advertising •  Search everywhere •  Architecture
  • 119. Search cluster App server Indexing server Database cluster
  • 120. NLP •  Search is not enough…unfortunately
  • 121. NLP •  Search is not enough…unfortunately •  Our domain is noisy…ugly at times
  • 124. ?
  • 125. I wish NLP could help!
  • 126. NLP •  Search is not enough…unfortunately •  Our domain is noisy…ugly at times •  How it works…
  • 127. HwO do iput 10 99 i don,t know what to do need help help me.
  • 128. Where do I enter a 1099?
  • 129. schema.xml <fieldtype name="text" class="solr.TextField" positionIncrementGap="100">
 <analyzer type="index">
 <tokenizer class="solr.HTMLStripStandardTokenizerFactory"/>
 <filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords.txt"/>
 <filter class="solr.WordDelimiterFilterFactory" generateWordParts="0" generateNumberParts="1" catenateWords="1" catenateNumbers="1" catenateAll="1" preserveOriginal="1"/>
 <filter class="solr.LowerCaseFilterFactory"/>
 <filter class="solr.EnglishPorterFilterFactory" protected="protwords.txt"/>
 <filter class="solr.SynonymFilterFactory" synonyms="synonyms.txt" ignoreCase="true" expand="true"/>
 <filter class="solr.RemoveDuplicatesTokenFilterFactory"/>
 </analyzer>
 <analyzer type="query">
 <tokenizer class="solr.HTMLStripStandardTokenizerFactory"/>
 <filter class="solr.SynonymFilterFactory" synonyms="synonyms.txt" ignoreCase="true" expand="true"/>
 <filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords.txt"/>
 <filter class="solr.WordDelimiterFilterFactory" generateWordParts="0" generateNumberParts="1" catenateWords="1" catenateNumbers="1" catenateAll="1" preserveOriginal="1"/>
 <filter class="solr.LowerCaseFilterFactory"/>
 <filter class="solr.EnglishPorterFilterFactory" protected="protwords.txt"/>
 <filter class="solr.RemoveDuplicatesTokenFilterFactory"/>
 </analyzer> </fieldtype>
  
  • 130. dictionary <?xml version="1.0" encoding="US-ASCII"?>
 <dictionary>
 <entry score="10" root="none" synonym="none" domain="ttlc" id="suitcas">suitcase</entry>
 <entry score="10" root="form" synonym="none" domain="ttlc" id="2210"></entry>
 <entry score="10" root="none" synonym="none" domain="ttlc" id="xrai">x-ray</ entry>
 <entry score="10" root="none" synonym="townhom" domain="ttlc" id="townhous">townhouse</entry>
 <entry score="10" root="none" synonym="none" domain="ttlc" id="grosssal">gross sale</entry>
 <entry score="10" root="none" synonym="none" domain="ttlc" id="trinidad">Trinidad</entry>
 <entry score="10" root="none" synonym="none" domain="ttlc" id="home"></entry>
 <entry score="10" root="none" synonym="know" domain="ttlc" id="knew"></entry>
 <entry score="10" root="none" synonym="none" domain="ttlc" id="massachusett">Massachusetts</entry>
 <entry score="10" root="none" synonym="none" domain="ttlc" id="denver">Denver</entry>
 <entry score="5" root="none" synonym="none" domain="ttlc" id="instead"></ entry>
 <entry score="10" root="none" synonym="unallow" domain="ttlc" id="disallow">not allowed</entry>
 <entry score="5" root="none" synonym="see" domain="ttlc" id="saw"></entry>
 
  
  • 131. regular expressions (many) if text =~ / any/ text.gsub!(/ any where /, ' anywhere ')
 text.gsub!(/ any(body| body| one) /, ' anyone ')
 text.gsub!(/ any( thing| things|things) /, ' anything ')
 text.gsub!(/ any(one|thing|where) else /, ' any1 ’) end if text =~ / don / text.gsub!(/ don i /, ' do not i ')
 text.gsub!(/ don (have|know|see|want) /, ' do not 1 ')
 text.gsub!(/ (are|be|have|is|was|were) don /, ' 1 done ’) text.gsub!(/ don (not|nt|t) /, ' do not ’) end
 text.gsub!(/ (do|can) (ai|ii) /, ' 1 i ’) text.gsub!(/ d (oyou|you) /, ' do you ')
 text.gsub!(/ (1|ai|ii|my) (did|do|had|have|was) /, ' i 2 ’) text.gsub!(/ crap{1,10} /, ' crap ’) text.gsub!(/ gr{1,} /, ' ') 
 

  • 132. Spell Checker Stemmer (Porter) Word Collocation Stop Phrase Correction Stop Word Removal Synonyms Substitution Tax Domain Correction Phrase Encoding
  • 133. # NLP is not easy!   # this class wraps our NLP sf = SemanticFilter.new # does it work? sf.act_on_post( "HwO do iput 10 99 i don,t know what to do need help help me." ) =>[" wheretoent 1099 ”] sf.act_on_post( "Where do I enter a 1099?" ) =>[" wheretoent 1099 ”]  
  • 134. NLP •  Search is not enough…unfortunately •  Our domain is noisy…ugly at times •  How it works… •  It works well, but it’s not perfect
  • 135. “Stop guessing what I’m looking for!”
  • 136. NLP •  Search is not enough…unfortunately •  Our domain is noisy…ugly at times •  How it works… •  It works well, but it’s not perfect •  Not just for search…
  • 137.
  • 138. Recommendations •  Deliver unanswered questions to contributors
  • 139. Recommendations •  Deliver unanswered questions to contributors •  Too much content to scan manually
  • 140. Recommendations •  Deliver unanswered questions to contributors •  Too much content to scan manually •  Based on past answering behavior
  • 141. Recommendations •  Deliver unanswered questions to contributors •  Too much content to scan manually •  Based on past answering behavior •  Recommend a question to multiple contributors
  • 142. Recommendations •  Deliver unanswered questions to contributors •  Too much content to scan manually •  Based on past answering behavior •  Recommend a question to multiple contributors •  Uses Mahout machine learning library
  • 143. Answered Unanswered NLP NLP User Post vectors vectors Mahout Heuristics
  • 144.
  • 145. Next Steps •  We’re going to rewrite it!
  • 146. Next Steps •  We’re going to rewrite it! … most of it ;)
  • 147. Next Steps •  We’re going to rewrite it! … most of it ;) •  Real-time indexing
  • 148. Next Steps •  We’re going to rewrite it! … most of it ;) •  Real-time indexing •  Question vs. Query
  • 149. Next Steps •  We’re going to rewrite it! … most of it ;) •  Real-time indexing •  Question vs. Query •  Social feedback – Page ranking
  • 150. Next Steps •  We’re going to rewrite it! … most of it ;) •  Real-time indexing •  Question vs. Query •  Social feedback – Page ranking •  Social dictionaries – Content classification
  • 151. Next Steps •  We’re going to rewrite it! … most of it ;) •  Real-time indexing •  Question vs. Query •  Social feedback – Page ranking •  Social dictionaries – Content classification •  Beer?!
  • 152. Thank  you.     Floyd_Morgan@intuit.com   @fmorgan  
  • 153. Appendix   •  User  search   •  SEO