SlideShare une entreprise Scribd logo
1  sur  28
Télécharger pour lire hors ligne
The Future of Search in
                                     Plone
                                          Sally Kleinfeldt
                                            and friends
                                  Plone Conference, San Francisco
                                        November 3, 2011




Tuesday, November 29, 2011
Motivation


                             •   Raise awareness

                             •   Promote discussion

                             •   Forge consensus




Tuesday, November 29, 2011
Agenda


                             •   Introduction to IR concepts

                             •   Description of Solr and ZCatalog

                             •   Discussion




Tuesday, November 29, 2011
IR 101




Tuesday, November 29, 2011
IR 101

                             •   Transformations

                             •   Terms

                             •   Models

                             •   Measures




Tuesday, November 29, 2011
IR 101
                                     Transformations
                             •   Turn binary, HTML, or other document
                                 formats into fields and strings

                             •   Parse the strings into a set of terms

                             •   Build indexes of the terms specific to the IR
                                 model used

                             •   Queries are parsed into query operators and
                                 strings, which are parsed into terms




Tuesday, November 29, 2011
IR 101
                                     String => Terms
                             •   Tokenization - locate word boundaries

                             •   Normalization - remove capitals and diacritics

                             •   Stopping - remove stop words (a, of, on,
                                 the...)

                             •   Stemming - reduce to word stems (walks,
                                 walking => walk)

                             •   Recognizers - concepts, parts of speech,
                                 names, locations...

                             •   Must be identical for documents and queries


Tuesday, November 29, 2011
IR 101
                                              Terms

                             •   Application specific

                             •   Words or phrases

                             •   IR models assign weights to terms in
                                 documents




Tuesday, November 29, 2011
IR 101
                                       Term Weighting
                             •   Simplest:Yes/No Boolean value

                             •   Better: Term Frequency - # occurrences

                             •   More meaningful: tf-idf

                                 •   Term Freq * Inverse Document Freq

                                 •   How many documents contain the term?

                                 •   Increase weight of rare terms and vice
                                     versa




Tuesday, November 29, 2011
IR 101
                                      Boolean Model
                             •   First and most adopted

                             •   Based on Boolean logic + set theory

                             •   Does a document contain query terms - Y/N

                             •   Intuitive, easy to implement

                             •   No ranking, special query language, too many
                                 or too few results

                             •   Typical for library systems




Tuesday, November 29, 2011
IR 101
                                 Vector Space Models
                             •   Represent documents and queries as vectors
                                 of terms

                             •   Term values are weighted - by count or tf-idf

                             •   Use vector operations to compare
                                 documents with queries

                             •   Relevance score based on cosine of angle
                                 between doc/query vectors




Tuesday, November 29, 2011
IR 101
                                 Probabilistic Models
                             •   Compute probability that a document is
                                 relevant to a query

                             •   Relevance ranking functions range from
                                 simple to complex

                             •   Sophisticated ranking functions include

                                 •   Okapi BM25 (uses tf and idf)

                                 •   Machine learning formulas (use training
                                     data)




Tuesday, November 29, 2011
IR 101
                             Extending the Models
                             •   Many many refinements possible

                                 •   Term interdependencies

                                 •   Fuzzy sets

                                 •   Semantic analysis, link analysis

                                 •   Combining models (Extended Boolean)

                             •   The best search engines represent thousands
                                 of engineering hours




Tuesday, November 29, 2011
IR 101
                                              Measures
                             •   Search engine results are measured against:

                                 •   Precision - Percent of results that are
                                     relevant

                                 •   Recall - Percent of relevant results that are
                                     returned

                                 •   F-Score - Harmonic mean of precision and
                                     recall




Tuesday, November 29, 2011
ZCatalog and Solr




Tuesday, November 29, 2011
ZCatalog
                             •   Zope/Plone search engine

                             •   Full text and field searching

                             •   Probabilistic model using Okapi BM25

                             •   OOTB ZCTextIndex very simple

                             •   TextIndexNG adds multilingual, better parsing
                                 components, binary transforms, synonyms




Tuesday, November 29, 2011
Solr
                             •   Popular open source enterprise search
                                 platform

                             •   Eliminating smaller commercial search
                                 companies

                             •   Java, based on Lucene Java search library,
                                 sophisticated vector space ++ model

                             •   RESTful APIs

                             •   Large, active community

                             •   Powers Twitter, Wikipedia, Netflix...



Tuesday, November 29, 2011
What does Solr have
                             that ZCatalog Doesn’t?
                             •   Better relevance ranking

                             •   More search features: snippets, hit
                                 highlighting, spelling suggestions, synonyms,
                                 more like this, faceted search

                             •   More configurable: stop words, field
                                 boosting, parsing components

                             •   An army of engineers working on it




Tuesday, November 29, 2011
Plone + Solr
                                              Today
                             •   Two add-ons available

                                 •   collective.solr - Intercepts catalog queries
                                     and dispatches them to Solr

                                 •   alm.solrindex - adds a new index type to
                                     the catalog, SolrIndex

                             •   Plus a buildout recipe:
                                 collective.recipe.solrinstance




Tuesday, November 29, 2011
Conclusions from
                             Conference Discussion




Tuesday, November 29, 2011
Why Does Plone
                                     Need Solr?
                             •   Certain types of projects need it, for features
                                 or because ZCatalog can’t scale to very large
                                 sites

                             •   We need it to keep up with the enterprise
                                 CMS pack




Tuesday, November 29, 2011
Points of Agreement
                             •   It will be impossible to completely replace
                                 ZCatalog with Solr

                                 •   Solr indexing will never be transactional

                                 •   Removing ZCatalog from Zope would be
                                     very difficult

                                 •   Tackle small, focused ZCatalog
                                     improvements when possible - like
                                     improving indexing interface




Tuesday, November 29, 2011
Points of Agreement

                             •   Navigation and search should be handled
                                 separately

                                 •   Navigation needs to be transactional,
                                     search does not

                                 •   Split out a catalog used for navigation from
                                     the general catalog

                                 •   Explore a non-catalog utility to support
                                     navigation, optimize for speed




Tuesday, November 29, 2011
Points of Agreement
                             •   Treating Solr integration simply as ZCatalog
                                 replacement does not take best advantage of
                                 Solr features

                                 •   ZCatalog can’t represent the richness of
                                     Solr, focus on the Solr API

                                 •   Take advantage of spelling suggestions,
                                     facets, results snippets with hit highlighting,
                                     synonyms, more like this, etc.

                                 •   Provide Solr indexing, field weighting, etc.
                                     configuration choices in the control panel



Tuesday, November 29, 2011
Points of Agreement
                             •   Neither of the current Solr add-ons provides
                                 the best foundation for the future

                                 •   But they’ve taught us how to do things
                                     better

                             •   Non-Solr approaches to improved Plone
                                 search should be deprecated

                                 •   Andreas Jung is not planning improvements
                                     to TextIndexNG!




Tuesday, November 29, 2011
Points of Agreement


                             •   Stop investing in ZCatalog as a search engine,
                                 Solr is the future




Tuesday, November 29, 2011
Plone + Solr
                                            Roadmap
                             •   Short term: Make Solr integration easy with
                                 an approved add-on (like LDAP)

                                 •   Build on what we’ve learned and create a
                                     better add-on to replace collective.solr and
                                     alm.solrindex

                                 •   Who wants to sponsor a sprint?




Tuesday, November 29, 2011
Plone + Solr
                                            Roadmap
                             •   Long term: Ship Solr integration with Plone,
                                 but don’t require Solr

                                 •   Solr has a lot of overhead and is not always
                                     needed

                                 •   But using it should be as easy as answering
                                     yes to a “Build with Solr?” installation
                                     option




Tuesday, November 29, 2011

Contenu connexe

Similaire à The Future of Search in Plone - Solr and ZCatalog Compared

Natural Language Search in Solr
Natural Language Search in SolrNatural Language Search in Solr
Natural Language Search in SolrTommaso Teofili
 
Are Your Tests Really Helping You?
Are Your Tests Really Helping You?Are Your Tests Really Helping You?
Are Your Tests Really Helping You?LB Denker
 
Wed 1430 kartik_subramanian_color
Wed 1430 kartik_subramanian_colorWed 1430 kartik_subramanian_color
Wed 1430 kartik_subramanian_colorDATAVERSITY
 
Cs 510iri lecture8_relevanceevaluation-revised
Cs 510iri lecture8_relevanceevaluation-revisedCs 510iri lecture8_relevanceevaluation-revised
Cs 510iri lecture8_relevanceevaluation-revisedAbubakar Waqar
 

Similaire à The Future of Search in Plone - Solr and ZCatalog Compared (6)

Natural Language Search in Solr
Natural Language Search in SolrNatural Language Search in Solr
Natural Language Search in Solr
 
Ontologies Fmi 042010
Ontologies Fmi 042010Ontologies Fmi 042010
Ontologies Fmi 042010
 
Are Your Tests Really Helping You?
Are Your Tests Really Helping You?Are Your Tests Really Helping You?
Are Your Tests Really Helping You?
 
Wed 1430 kartik_subramanian_color
Wed 1430 kartik_subramanian_colorWed 1430 kartik_subramanian_color
Wed 1430 kartik_subramanian_color
 
AudioSIG28Nov2011
AudioSIG28Nov2011AudioSIG28Nov2011
AudioSIG28Nov2011
 
Cs 510iri lecture8_relevanceevaluation-revised
Cs 510iri lecture8_relevanceevaluation-revisedCs 510iri lecture8_relevanceevaluation-revised
Cs 510iri lecture8_relevanceevaluation-revised
 

Dernier

Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...HostedbyConfluent
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Paola De la Torre
 
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
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 

Dernier (20)

Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101
 
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
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 

The Future of Search in Plone - Solr and ZCatalog Compared

  • 1. The Future of Search in Plone Sally Kleinfeldt and friends Plone Conference, San Francisco November 3, 2011 Tuesday, November 29, 2011
  • 2. Motivation • Raise awareness • Promote discussion • Forge consensus Tuesday, November 29, 2011
  • 3. Agenda • Introduction to IR concepts • Description of Solr and ZCatalog • Discussion Tuesday, November 29, 2011
  • 5. IR 101 • Transformations • Terms • Models • Measures Tuesday, November 29, 2011
  • 6. IR 101 Transformations • Turn binary, HTML, or other document formats into fields and strings • Parse the strings into a set of terms • Build indexes of the terms specific to the IR model used • Queries are parsed into query operators and strings, which are parsed into terms Tuesday, November 29, 2011
  • 7. IR 101 String => Terms • Tokenization - locate word boundaries • Normalization - remove capitals and diacritics • Stopping - remove stop words (a, of, on, the...) • Stemming - reduce to word stems (walks, walking => walk) • Recognizers - concepts, parts of speech, names, locations... • Must be identical for documents and queries Tuesday, November 29, 2011
  • 8. IR 101 Terms • Application specific • Words or phrases • IR models assign weights to terms in documents Tuesday, November 29, 2011
  • 9. IR 101 Term Weighting • Simplest:Yes/No Boolean value • Better: Term Frequency - # occurrences • More meaningful: tf-idf • Term Freq * Inverse Document Freq • How many documents contain the term? • Increase weight of rare terms and vice versa Tuesday, November 29, 2011
  • 10. IR 101 Boolean Model • First and most adopted • Based on Boolean logic + set theory • Does a document contain query terms - Y/N • Intuitive, easy to implement • No ranking, special query language, too many or too few results • Typical for library systems Tuesday, November 29, 2011
  • 11. IR 101 Vector Space Models • Represent documents and queries as vectors of terms • Term values are weighted - by count or tf-idf • Use vector operations to compare documents with queries • Relevance score based on cosine of angle between doc/query vectors Tuesday, November 29, 2011
  • 12. IR 101 Probabilistic Models • Compute probability that a document is relevant to a query • Relevance ranking functions range from simple to complex • Sophisticated ranking functions include • Okapi BM25 (uses tf and idf) • Machine learning formulas (use training data) Tuesday, November 29, 2011
  • 13. IR 101 Extending the Models • Many many refinements possible • Term interdependencies • Fuzzy sets • Semantic analysis, link analysis • Combining models (Extended Boolean) • The best search engines represent thousands of engineering hours Tuesday, November 29, 2011
  • 14. IR 101 Measures • Search engine results are measured against: • Precision - Percent of results that are relevant • Recall - Percent of relevant results that are returned • F-Score - Harmonic mean of precision and recall Tuesday, November 29, 2011
  • 15. ZCatalog and Solr Tuesday, November 29, 2011
  • 16. ZCatalog • Zope/Plone search engine • Full text and field searching • Probabilistic model using Okapi BM25 • OOTB ZCTextIndex very simple • TextIndexNG adds multilingual, better parsing components, binary transforms, synonyms Tuesday, November 29, 2011
  • 17. Solr • Popular open source enterprise search platform • Eliminating smaller commercial search companies • Java, based on Lucene Java search library, sophisticated vector space ++ model • RESTful APIs • Large, active community • Powers Twitter, Wikipedia, Netflix... Tuesday, November 29, 2011
  • 18. What does Solr have that ZCatalog Doesn’t? • Better relevance ranking • More search features: snippets, hit highlighting, spelling suggestions, synonyms, more like this, faceted search • More configurable: stop words, field boosting, parsing components • An army of engineers working on it Tuesday, November 29, 2011
  • 19. Plone + Solr Today • Two add-ons available • collective.solr - Intercepts catalog queries and dispatches them to Solr • alm.solrindex - adds a new index type to the catalog, SolrIndex • Plus a buildout recipe: collective.recipe.solrinstance Tuesday, November 29, 2011
  • 20. Conclusions from Conference Discussion Tuesday, November 29, 2011
  • 21. Why Does Plone Need Solr? • Certain types of projects need it, for features or because ZCatalog can’t scale to very large sites • We need it to keep up with the enterprise CMS pack Tuesday, November 29, 2011
  • 22. Points of Agreement • It will be impossible to completely replace ZCatalog with Solr • Solr indexing will never be transactional • Removing ZCatalog from Zope would be very difficult • Tackle small, focused ZCatalog improvements when possible - like improving indexing interface Tuesday, November 29, 2011
  • 23. Points of Agreement • Navigation and search should be handled separately • Navigation needs to be transactional, search does not • Split out a catalog used for navigation from the general catalog • Explore a non-catalog utility to support navigation, optimize for speed Tuesday, November 29, 2011
  • 24. Points of Agreement • Treating Solr integration simply as ZCatalog replacement does not take best advantage of Solr features • ZCatalog can’t represent the richness of Solr, focus on the Solr API • Take advantage of spelling suggestions, facets, results snippets with hit highlighting, synonyms, more like this, etc. • Provide Solr indexing, field weighting, etc. configuration choices in the control panel Tuesday, November 29, 2011
  • 25. Points of Agreement • Neither of the current Solr add-ons provides the best foundation for the future • But they’ve taught us how to do things better • Non-Solr approaches to improved Plone search should be deprecated • Andreas Jung is not planning improvements to TextIndexNG! Tuesday, November 29, 2011
  • 26. Points of Agreement • Stop investing in ZCatalog as a search engine, Solr is the future Tuesday, November 29, 2011
  • 27. Plone + Solr Roadmap • Short term: Make Solr integration easy with an approved add-on (like LDAP) • Build on what we’ve learned and create a better add-on to replace collective.solr and alm.solrindex • Who wants to sponsor a sprint? Tuesday, November 29, 2011
  • 28. Plone + Solr Roadmap • Long term: Ship Solr integration with Plone, but don’t require Solr • Solr has a lot of overhead and is not always needed • But using it should be as easy as answering yes to a “Build with Solr?” installation option Tuesday, November 29, 2011