SlideShare a Scribd company logo
1 of 16
The Once and Future History of Enterprise Search and Open Source Marc Krellenstein, CTOmarc@lucidimagination.com
Evolving challenges in full text search  Finding something in a lot of content (recall, scalability) IBM/STAIRS vs. US gov/Basis, BRS, Dialog, Verity Lycos and Fast , Infoseek, Excite  AltaVista Centralized search  Distributed search (Fast, Google, Lucene/Solr) Finding just the good stuff (precision) SMART, Autonomy, Google, Lucene/Solr, authority scores, browsing/clustering/faceting,… Finding it fast (performance)  Fast, Google, Lucene/Solr Making it easy (simplicity) Google, Lucene/Solr* Deploying good search everywhere (all of the above plus price, flexibility) Lucene/Solr
Google	 Breakthrough in precision of Internet search Popularity algorithm hides the bad stuff Proved importance of understanding data & users Set expectations for accuracy of enterprise search Set a new standard for search performance Sub-second (or near) Proved value of good adaptive spell-checking Demonstrated the power of distributed search for scale Reinforced the importance of simplicity and a single search box Proved the value of search Search needs to be everywhere
But Google is not like most enterprise search applications Google Most data is bad, many good enough answers…task is to screen out the bad Many privacy issues among users No security issues Many naïve users with little patience…speed is important Enterprise search Most or all the data may be good, often only one answer to a search need Many security issues Few or no privacy issues between users Naïve and sophisticated users motivated by an organizational purpose The best enterprise search tools will fit enterprise needs
Best practice recall and precision	  Recall Percent of relevant documents (items) returned 50 good answers in system, 25 returned = 50% recall Precision Percent of documents returned that are relevant 100 returned, 25 are relevant = 25% precision Ideal is 100% recall and 100% precision: return all relevant documents and only those 100% recall is easy – return all documents…but precision so low they can’t be found…precision harder Need adequate recall & enough precision for the task That will vary by application (data & users)… 6
How to get good recall Collect, index and search all the data Check for missing or corrupt data Index everything – stop words not usually needed today Search everything…limit results by category AFTER the search (clustering/faceting) Normalize the data Convert to lower case, strip/handle special characters, stemming, … Use spell-checking, synonyms to match users’ vocabulary with content Adaptive spell-checking, application-specific synonyms Light (or real) natural language processing for abstract concepts ‘Recent documents on Asia’
How to get good precision Term frequency (TF) – more occurrences of query terms is better Inverse document frequency (IDF) – rarer query terms are more important Phrase boost – query terms near each other is better Field boost – where the query term is in doc matters (e.g., in ‘title’ better) Length normalization – avoid penalizing short docs Recency – all things being equal, recent is better Authority – items linked to, clicked on or bought by others may be better Implicit and explicit relevance feedback, more-like-this – expand query (queries usually underdetermined…intent??)  Clustering/faceting – when above fail or intent is not specific Lots of data…Watson, Google Translate 8
The emergence of open source Lucene/Solr Lucene Built in late 90’s by Doug Cutting…. Apache release 2001 State of the art Java library for indexing and ranking…many ports since Contributed to open source to keep it going and reusable Wide acceptance by 2005, mostly by technology organizations, products Solr Build in 2005 by Yonik Seeley to meet CNET needs for quicker-to-build applications and faceting…had to be open source…Apache release 2006 Lucene over HTTP, schema, cache management, replication,… and faceting Open source as a development model, not a religion 4,000+ sites – Apple, Cisco, EMC, HP, IBM, LinkedIn, MySpace, Netflix, Salesforce, Twitter, Gov, Wikipedia…
Current Lucene/Solr: strengths  Best practice segmented index (like Google, Fast) Scalability via SolrCloud distributed search  billions of documents Best practice, flexible ranking (term/field/doc boosts, function queries, custom scoring…) Best overall query performance and complete query capabilities (unlimited Boolean operations, wildcards, find-similar, synonyms, spell-check…) Multilingual, query filters, geo search, memory mapped indexes, near real-time search, advanced proximity operators… Rapid innovation Extensible architecture, complete control (open source) No license fees (open source) CORE TECHNOLOGY AS GOOD OR BETTER THAN ANY OTHER…AND OPEN SOURCE
Open source Lucene/Solr: weaknesses Those typical of open source No formal support Limited access to training, consulting Lack of stringent integrated QA Pace of development and open source environment too complex for some (e.g., what version should I download? What patches? GUI?  Others Lucene/Solr development has tended to focus on core capabilities, so missing certain features for enterprise search (e.g., connectors, security, alerts, advanced query operations)
Addressing open source Lucene/Solr weaknesses Lucene/Solr Community Apache Lucene/Solr community has a wealth of information on web sites, wikis and mailing lists Community members usually respond quickly to questions Consultants May be especially helpful for systems integration or addressing gaps Commercialization  Companies commercializing open source  provide commercial support, certified versions, training and consulting…may fill in gaps or address ease of use Examples: Red Hat, MySQL ,Lucid Imagination Internal resources – usually in combination with one or more of the above
Product strengths of top commercial competitors Well established players tend to be full-featured Some organizations have focused on a particular application or domain (e.g., ecommerce, publishing, legal, help desk) Some competitors have focused on appliance-like simplicity
Weaknesses of top commercial competitors Usually expensive, especially at scale Platform or portability limitations Limited transparency Limited flexibility, especially for other than intended application or domain Limited customization, especially for appliance-like products Sometimes limited scalability Technical debt and/or lack of rapid innovation Customers are dependent on the company’s continued business success
Current competitive landscape	 For last 5 years commercial companies have felt increasing competition from Lucene/Solr because of the combination of its capability and price Very hard to justify multi-million dollar deals given Lucene/Solr Lucene/Solr sometimes wins on performance alone Some competitors have responded with diversification Re-invent themselves as a business intelligence or other kind of company Produce search derivative applications Focus on specific domains Some have been acquired But the need for good, affordable, flexible search remains
The competitive future Basic search has become commoditized and widespread…but Top commercial companies usually often have one or more key weaknesses Existing search is often mediocre and too expensive or difficult to maintain, grow or customize/enhance Producing best practice search is still hard (and search remains a hard problem…intent, context, NLP…) Market strength and features of competitors will keep competitors going a while…but Very hard to justify high prices, especially for large applications Very hard to justify closed and proprietary technology  Lucene/Solr capabilities, performance, control, price and continued rapid innovation (and addressing weaknesses) will likely lead to its dominance
Resources Lucene in Action, Second Edition, by Michael McCandless, Erik Hatcher and Otis Gospodnetic. Manning, 2010. Solr 1.4 Enterprise Search Server, by David Smiley and Eric Pugh. Packt Publishing, 2009.   Solr reference guide: http://www.lucidimagination.com/Downloads/LucidWorks-for-Solr/Reference-Guide 17

More Related Content

More from lucenerevolution

Using Solr to Search and Analyze Logs
Using Solr to Search and Analyze Logs Using Solr to Search and Analyze Logs
Using Solr to Search and Analyze Logs lucenerevolution
 
Enhancing relevancy through personalization & semantic search
Enhancing relevancy through personalization & semantic searchEnhancing relevancy through personalization & semantic search
Enhancing relevancy through personalization & semantic searchlucenerevolution
 
Real-time Inverted Search in the Cloud Using Lucene and Storm
Real-time Inverted Search in the Cloud Using Lucene and StormReal-time Inverted Search in the Cloud Using Lucene and Storm
Real-time Inverted Search in the Cloud Using Lucene and Stormlucenerevolution
 
Solr's Admin UI - Where does the data come from?
Solr's Admin UI - Where does the data come from?Solr's Admin UI - Where does the data come from?
Solr's Admin UI - Where does the data come from?lucenerevolution
 
Schemaless Solr and the Solr Schema REST API
Schemaless Solr and the Solr Schema REST APISchemaless Solr and the Solr Schema REST API
Schemaless Solr and the Solr Schema REST APIlucenerevolution
 
High Performance JSON Search and Relational Faceted Browsing with Lucene
High Performance JSON Search and Relational Faceted Browsing with LuceneHigh Performance JSON Search and Relational Faceted Browsing with Lucene
High Performance JSON Search and Relational Faceted Browsing with Lucenelucenerevolution
 
Text Classification with Lucene/Solr, Apache Hadoop and LibSVM
Text Classification with Lucene/Solr, Apache Hadoop and LibSVMText Classification with Lucene/Solr, Apache Hadoop and LibSVM
Text Classification with Lucene/Solr, Apache Hadoop and LibSVMlucenerevolution
 
Faceted Search with Lucene
Faceted Search with LuceneFaceted Search with Lucene
Faceted Search with Lucenelucenerevolution
 
Recent Additions to Lucene Arsenal
Recent Additions to Lucene ArsenalRecent Additions to Lucene Arsenal
Recent Additions to Lucene Arsenallucenerevolution
 
Turning search upside down
Turning search upside downTurning search upside down
Turning search upside downlucenerevolution
 
Spellchecking in Trovit: Implementing a Contextual Multi-language Spellchecke...
Spellchecking in Trovit: Implementing a Contextual Multi-language Spellchecke...Spellchecking in Trovit: Implementing a Contextual Multi-language Spellchecke...
Spellchecking in Trovit: Implementing a Contextual Multi-language Spellchecke...lucenerevolution
 
Shrinking the haystack wes caldwell - final
Shrinking the haystack   wes caldwell - finalShrinking the haystack   wes caldwell - final
Shrinking the haystack wes caldwell - finallucenerevolution
 
The First Class Integration of Solr with Hadoop
The First Class Integration of Solr with HadoopThe First Class Integration of Solr with Hadoop
The First Class Integration of Solr with Hadooplucenerevolution
 
A Novel methodology for handling Document Level Security in Search Based Appl...
A Novel methodology for handling Document Level Security in Search Based Appl...A Novel methodology for handling Document Level Security in Search Based Appl...
A Novel methodology for handling Document Level Security in Search Based Appl...lucenerevolution
 
How Lucene Powers the LinkedIn Segmentation and Targeting Platform
How Lucene Powers the LinkedIn Segmentation and Targeting PlatformHow Lucene Powers the LinkedIn Segmentation and Targeting Platform
How Lucene Powers the LinkedIn Segmentation and Targeting Platformlucenerevolution
 
Query Latency Optimization with Lucene
Query Latency Optimization with LuceneQuery Latency Optimization with Lucene
Query Latency Optimization with Lucenelucenerevolution
 
Large Scale Crawling with Apache Nutch and Friends
Large Scale Crawling with Apache Nutch and FriendsLarge Scale Crawling with Apache Nutch and Friends
Large Scale Crawling with Apache Nutch and Friendslucenerevolution
 
Hacking Lucene and Solr for Fun and Profit
Hacking Lucene and Solr for Fun and ProfitHacking Lucene and Solr for Fun and Profit
Hacking Lucene and Solr for Fun and Profitlucenerevolution
 

More from lucenerevolution (20)

Using Solr to Search and Analyze Logs
Using Solr to Search and Analyze Logs Using Solr to Search and Analyze Logs
Using Solr to Search and Analyze Logs
 
Enhancing relevancy through personalization & semantic search
Enhancing relevancy through personalization & semantic searchEnhancing relevancy through personalization & semantic search
Enhancing relevancy through personalization & semantic search
 
Real-time Inverted Search in the Cloud Using Lucene and Storm
Real-time Inverted Search in the Cloud Using Lucene and StormReal-time Inverted Search in the Cloud Using Lucene and Storm
Real-time Inverted Search in the Cloud Using Lucene and Storm
 
Solr's Admin UI - Where does the data come from?
Solr's Admin UI - Where does the data come from?Solr's Admin UI - Where does the data come from?
Solr's Admin UI - Where does the data come from?
 
Schemaless Solr and the Solr Schema REST API
Schemaless Solr and the Solr Schema REST APISchemaless Solr and the Solr Schema REST API
Schemaless Solr and the Solr Schema REST API
 
High Performance JSON Search and Relational Faceted Browsing with Lucene
High Performance JSON Search and Relational Faceted Browsing with LuceneHigh Performance JSON Search and Relational Faceted Browsing with Lucene
High Performance JSON Search and Relational Faceted Browsing with Lucene
 
Text Classification with Lucene/Solr, Apache Hadoop and LibSVM
Text Classification with Lucene/Solr, Apache Hadoop and LibSVMText Classification with Lucene/Solr, Apache Hadoop and LibSVM
Text Classification with Lucene/Solr, Apache Hadoop and LibSVM
 
Faceted Search with Lucene
Faceted Search with LuceneFaceted Search with Lucene
Faceted Search with Lucene
 
Recent Additions to Lucene Arsenal
Recent Additions to Lucene ArsenalRecent Additions to Lucene Arsenal
Recent Additions to Lucene Arsenal
 
Turning search upside down
Turning search upside downTurning search upside down
Turning search upside down
 
Spellchecking in Trovit: Implementing a Contextual Multi-language Spellchecke...
Spellchecking in Trovit: Implementing a Contextual Multi-language Spellchecke...Spellchecking in Trovit: Implementing a Contextual Multi-language Spellchecke...
Spellchecking in Trovit: Implementing a Contextual Multi-language Spellchecke...
 
Shrinking the haystack wes caldwell - final
Shrinking the haystack   wes caldwell - finalShrinking the haystack   wes caldwell - final
Shrinking the haystack wes caldwell - final
 
The First Class Integration of Solr with Hadoop
The First Class Integration of Solr with HadoopThe First Class Integration of Solr with Hadoop
The First Class Integration of Solr with Hadoop
 
A Novel methodology for handling Document Level Security in Search Based Appl...
A Novel methodology for handling Document Level Security in Search Based Appl...A Novel methodology for handling Document Level Security in Search Based Appl...
A Novel methodology for handling Document Level Security in Search Based Appl...
 
How Lucene Powers the LinkedIn Segmentation and Targeting Platform
How Lucene Powers the LinkedIn Segmentation and Targeting PlatformHow Lucene Powers the LinkedIn Segmentation and Targeting Platform
How Lucene Powers the LinkedIn Segmentation and Targeting Platform
 
Query Latency Optimization with Lucene
Query Latency Optimization with LuceneQuery Latency Optimization with Lucene
Query Latency Optimization with Lucene
 
10 keys to Solr's Future
10 keys to Solr's Future10 keys to Solr's Future
10 keys to Solr's Future
 
Large Scale Crawling with Apache Nutch and Friends
Large Scale Crawling with Apache Nutch and FriendsLarge Scale Crawling with Apache Nutch and Friends
Large Scale Crawling with Apache Nutch and Friends
 
The Typed Index
The Typed IndexThe Typed Index
The Typed Index
 
Hacking Lucene and Solr for Fun and Profit
Hacking Lucene and Solr for Fun and ProfitHacking Lucene and Solr for Fun and Profit
Hacking Lucene and Solr for Fun and Profit
 

Recently uploaded

My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 
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
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024The Digital Insurer
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsMiki Katsuragi
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
costume and set research powerpoint presentation
costume and set research powerpoint presentationcostume and set research powerpoint presentation
costume and set research powerpoint presentationphoebematthew05
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
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
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Enterprise Knowledge
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 
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
 

Recently uploaded (20)

My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 
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
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering Tips
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
costume and set research powerpoint presentation
costume and set research powerpoint presentationcostume and set research powerpoint presentation
costume and set research powerpoint presentation
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
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
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
 
Hot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort Service
Hot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort ServiceHot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort Service
Hot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort Service
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
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
 

Keynote: The once and future history of enterprise search and open source - By Marc Krellenstein

  • 1. The Once and Future History of Enterprise Search and Open Source Marc Krellenstein, CTOmarc@lucidimagination.com
  • 2. Evolving challenges in full text search Finding something in a lot of content (recall, scalability) IBM/STAIRS vs. US gov/Basis, BRS, Dialog, Verity Lycos and Fast , Infoseek, Excite  AltaVista Centralized search  Distributed search (Fast, Google, Lucene/Solr) Finding just the good stuff (precision) SMART, Autonomy, Google, Lucene/Solr, authority scores, browsing/clustering/faceting,… Finding it fast (performance) Fast, Google, Lucene/Solr Making it easy (simplicity) Google, Lucene/Solr* Deploying good search everywhere (all of the above plus price, flexibility) Lucene/Solr
  • 3. Google Breakthrough in precision of Internet search Popularity algorithm hides the bad stuff Proved importance of understanding data & users Set expectations for accuracy of enterprise search Set a new standard for search performance Sub-second (or near) Proved value of good adaptive spell-checking Demonstrated the power of distributed search for scale Reinforced the importance of simplicity and a single search box Proved the value of search Search needs to be everywhere
  • 4. But Google is not like most enterprise search applications Google Most data is bad, many good enough answers…task is to screen out the bad Many privacy issues among users No security issues Many naïve users with little patience…speed is important Enterprise search Most or all the data may be good, often only one answer to a search need Many security issues Few or no privacy issues between users Naïve and sophisticated users motivated by an organizational purpose The best enterprise search tools will fit enterprise needs
  • 5. Best practice recall and precision Recall Percent of relevant documents (items) returned 50 good answers in system, 25 returned = 50% recall Precision Percent of documents returned that are relevant 100 returned, 25 are relevant = 25% precision Ideal is 100% recall and 100% precision: return all relevant documents and only those 100% recall is easy – return all documents…but precision so low they can’t be found…precision harder Need adequate recall & enough precision for the task That will vary by application (data & users)… 6
  • 6. How to get good recall Collect, index and search all the data Check for missing or corrupt data Index everything – stop words not usually needed today Search everything…limit results by category AFTER the search (clustering/faceting) Normalize the data Convert to lower case, strip/handle special characters, stemming, … Use spell-checking, synonyms to match users’ vocabulary with content Adaptive spell-checking, application-specific synonyms Light (or real) natural language processing for abstract concepts ‘Recent documents on Asia’
  • 7. How to get good precision Term frequency (TF) – more occurrences of query terms is better Inverse document frequency (IDF) – rarer query terms are more important Phrase boost – query terms near each other is better Field boost – where the query term is in doc matters (e.g., in ‘title’ better) Length normalization – avoid penalizing short docs Recency – all things being equal, recent is better Authority – items linked to, clicked on or bought by others may be better Implicit and explicit relevance feedback, more-like-this – expand query (queries usually underdetermined…intent??) Clustering/faceting – when above fail or intent is not specific Lots of data…Watson, Google Translate 8
  • 8. The emergence of open source Lucene/Solr Lucene Built in late 90’s by Doug Cutting…. Apache release 2001 State of the art Java library for indexing and ranking…many ports since Contributed to open source to keep it going and reusable Wide acceptance by 2005, mostly by technology organizations, products Solr Build in 2005 by Yonik Seeley to meet CNET needs for quicker-to-build applications and faceting…had to be open source…Apache release 2006 Lucene over HTTP, schema, cache management, replication,… and faceting Open source as a development model, not a religion 4,000+ sites – Apple, Cisco, EMC, HP, IBM, LinkedIn, MySpace, Netflix, Salesforce, Twitter, Gov, Wikipedia…
  • 9. Current Lucene/Solr: strengths Best practice segmented index (like Google, Fast) Scalability via SolrCloud distributed search  billions of documents Best practice, flexible ranking (term/field/doc boosts, function queries, custom scoring…) Best overall query performance and complete query capabilities (unlimited Boolean operations, wildcards, find-similar, synonyms, spell-check…) Multilingual, query filters, geo search, memory mapped indexes, near real-time search, advanced proximity operators… Rapid innovation Extensible architecture, complete control (open source) No license fees (open source) CORE TECHNOLOGY AS GOOD OR BETTER THAN ANY OTHER…AND OPEN SOURCE
  • 10. Open source Lucene/Solr: weaknesses Those typical of open source No formal support Limited access to training, consulting Lack of stringent integrated QA Pace of development and open source environment too complex for some (e.g., what version should I download? What patches? GUI? Others Lucene/Solr development has tended to focus on core capabilities, so missing certain features for enterprise search (e.g., connectors, security, alerts, advanced query operations)
  • 11. Addressing open source Lucene/Solr weaknesses Lucene/Solr Community Apache Lucene/Solr community has a wealth of information on web sites, wikis and mailing lists Community members usually respond quickly to questions Consultants May be especially helpful for systems integration or addressing gaps Commercialization Companies commercializing open source provide commercial support, certified versions, training and consulting…may fill in gaps or address ease of use Examples: Red Hat, MySQL ,Lucid Imagination Internal resources – usually in combination with one or more of the above
  • 12. Product strengths of top commercial competitors Well established players tend to be full-featured Some organizations have focused on a particular application or domain (e.g., ecommerce, publishing, legal, help desk) Some competitors have focused on appliance-like simplicity
  • 13. Weaknesses of top commercial competitors Usually expensive, especially at scale Platform or portability limitations Limited transparency Limited flexibility, especially for other than intended application or domain Limited customization, especially for appliance-like products Sometimes limited scalability Technical debt and/or lack of rapid innovation Customers are dependent on the company’s continued business success
  • 14. Current competitive landscape For last 5 years commercial companies have felt increasing competition from Lucene/Solr because of the combination of its capability and price Very hard to justify multi-million dollar deals given Lucene/Solr Lucene/Solr sometimes wins on performance alone Some competitors have responded with diversification Re-invent themselves as a business intelligence or other kind of company Produce search derivative applications Focus on specific domains Some have been acquired But the need for good, affordable, flexible search remains
  • 15. The competitive future Basic search has become commoditized and widespread…but Top commercial companies usually often have one or more key weaknesses Existing search is often mediocre and too expensive or difficult to maintain, grow or customize/enhance Producing best practice search is still hard (and search remains a hard problem…intent, context, NLP…) Market strength and features of competitors will keep competitors going a while…but Very hard to justify high prices, especially for large applications Very hard to justify closed and proprietary technology Lucene/Solr capabilities, performance, control, price and continued rapid innovation (and addressing weaknesses) will likely lead to its dominance
  • 16. Resources Lucene in Action, Second Edition, by Michael McCandless, Erik Hatcher and Otis Gospodnetic. Manning, 2010. Solr 1.4 Enterprise Search Server, by David Smiley and Eric Pugh. Packt Publishing, 2009. Solr reference guide: http://www.lucidimagination.com/Downloads/LucidWorks-for-Solr/Reference-Guide 17