SlideShare uma empresa Scribd logo
1 de 41
Baixar para ler offline
July 21, 2012


Drupal and Apache Solr
Search Go Together Like
Pizza and Beer for Your Site
               Peter M. Wolanin, Ph.D.
         Momentum Specialist (principal engineer), Acquia, Inc.
               Drupal contributor drupal.org/user/49851
   co-maintainer of the Drupal Apache Solr Search Integration module
Pizza Without Beer?
Pizza Without Beer?
 Ok, Drupal alone is great, but a we can make
 it even more appealing and satisfying.
 Are you wondering how hard it is to actually
 integrate Apache Solr with Drupal?
 Do you like things that are easy yet powerful?
Drupal + Solr Provides Immediate
Access to Rich Search Features
 Dynamic content requires dynamic navigation -
 which is provided by an effective search.
 Search facets mean no dead ends.
 Solr provides better keyword relevancy in results.
 Much faster searches for sites with lots of content.
 By avoiding database queries, Drupal with Solr
 scales better.
Many Solr Integration Challenges
Are Already Solved for You
 The most important - content indexing.
 Facets, sorting, and highlighting of results.
 Immediate integration with the More Like This
 and spell-check handlers.
 Included sub-module integrates content access
 permissions by indexing to and filtering Solr
 results based on the current user.
Key Questions to Be Answered
 What are the key Solr concepts you need to
 understand to get the most out of the Apache
 Solr Search Integration module?
 How is the module admin UI organized?
 How do I configure facets, search pages, and
 content recommendation blocks?
 How can I index file attachments?
Solr Interface/API is HTTP
  Drupal sends data to Solr as XML documents
  POST XML to /update to add or delete.
  Search via GET requests.
  If something is not working as expected, you
  can try searching directly in Solr via URL
  Solr also includes admin and analysis
  interfaces (you need to lock this down for
  production).
Enable the Modules
?q=search/node/ratis   WTH? no facets!
?q=search/site/ratis
Easy Content Recommendation!
 Uses the MLT handler
 Picks fields from the currently viewed node
A short diversion...

Search Environments Reference
Different Servers and/or Config
   Most people need only one to start.
   The most important use is to bundle different
   sets of enabled facets and their configuration -
   e.g. for different search pages.
   Can also be used to search multiple servers.
   Each has its own ID and config variables.
The Module Has a Pipeline for
Indexing Drupal Content to Solr
  Drupal entities are processed into one (or more)
  document objects. Each document object is
  converted to XML and sent to Solr.
Node object     Document object               XML string
                 entity_type      <doc>

   title             label         <field
                                   <field
                                            name="entity_type">node</field>
                                            name="label">Hello Drupal</field>
                                   <field   name="entity_id">101</field>
    nid            entity_id       <field
                                  </doc>
                                            name="bundle">session</field>

   type    Drupal bundle
     callbacks & hooks
Entity Meta-data Gives
Automatic Facets!
 Content types
 Taxonomy terms per
 vocabulary
 Content authors
 Posted and modified dates
 Text and numbers selected
 via select list/radios/check
 boxes
Updates to an Entity or Related
Meta-data Cause Reindexing
 Drupal entities are indexed during Drupal cron.
 By using a specialized tracking table, content
 can automatically be queued for reindex when
 changed, and subsets of content can potentially
 be sent to different Solr indexes.
 Entities include many ID-based reference fields
 (e.g. the User ID of the node author). Changes
 to the referenced data is also watched.
Finding the “Right” Results
 A big frustration is when the result you expect
 for a keyword or set of keywords is not first, or
 even on the first page.
 Apache Solr has very flexible result scoring - you
 just need to know how to tune it.
 Different sites have different needs - the default
 settings may be poor for yours.
 acquia.com/blog/delivering-right-search-results
More Modules Available to
Add More Features
A few examples:
 ApacheSolr Attachments
 Apache Solr Multisite Search
 Apache Solr Organic Groups Integration
 Apachesolr User indexing
 Apachesolr Commerce
Attachments Too !
To Wrap Up !
 Drupal has extensive Apache Solr integration
 already, and it is highly customizable in the UI.
 Apache Solr Search Integration offers more robust
 integration as compared to Search API Solr and
 both Drupal 6 and 7 support.
 Acquia includes a secure, hosted Solr index with
 every support subscription. Get started fast with a
 30 day free trial.
Acquia is Hiring!

  Do you love Drupal, Solr, the LAMP stack,
  DevOps or anything related, and working at a
  fast-growing and successful startup?
  Boston, Portland, D.C. area U.S. offices.
  Some remote opportunities as well.
  Come talk to me!
  peter.wolanin@acquia.com
  pwolanin in IRC #drupal-apachesolr

Mais conteúdo relacionado

Mais procurados

Developing and Deploying Custom Branding Solutions in SharePoint 2010
Developing and Deploying Custom Branding Solutions in SharePoint 2010Developing and Deploying Custom Branding Solutions in SharePoint 2010
Developing and Deploying Custom Branding Solutions in SharePoint 2010
jhendrix88
 
SharePoint Saturday Belgium 2014 Creating product centric sites using product...
SharePoint Saturday Belgium 2014 Creating product centric sites using product...SharePoint Saturday Belgium 2014 Creating product centric sites using product...
SharePoint Saturday Belgium 2014 Creating product centric sites using product...
BIWUG
 
Data Access Options in SharePoint 2010
Data Access Options in SharePoint 2010Data Access Options in SharePoint 2010
Data Access Options in SharePoint 2010
Rob Windsor
 
Taking Advantage of the SharePoint 2013 REST API
Taking Advantage of the SharePoint 2013 REST APITaking Advantage of the SharePoint 2013 REST API
Taking Advantage of the SharePoint 2013 REST API
Eric Shupps
 
Search overview
Search overviewSearch overview
Search overview
Hiep Luong
 
SharePoint 2010 Application Development Overview
SharePoint 2010 Application Development OverviewSharePoint 2010 Application Development Overview
SharePoint 2010 Application Development Overview
Rob Windsor
 
Implementing Enterprise Search in SharePoint 2010
Implementing Enterprise Search in SharePoint 2010Implementing Enterprise Search in SharePoint 2010
Implementing Enterprise Search in SharePoint 2010
Agnes Molnar
 
Parsing strange v4
Parsing strange v4Parsing strange v4
Parsing strange v4
Hal Stern
 

Mais procurados (20)

Developing and Deploying Custom Branding Solutions in SharePoint 2010
Developing and Deploying Custom Branding Solutions in SharePoint 2010Developing and Deploying Custom Branding Solutions in SharePoint 2010
Developing and Deploying Custom Branding Solutions in SharePoint 2010
 
Parsing strange v1.1
Parsing strange v1.1Parsing strange v1.1
Parsing strange v1.1
 
SharePoint Saturday Belgium 2014 Creating product centric sites using product...
SharePoint Saturday Belgium 2014 Creating product centric sites using product...SharePoint Saturday Belgium 2014 Creating product centric sites using product...
SharePoint Saturday Belgium 2014 Creating product centric sites using product...
 
Data Access Options in SharePoint 2010
Data Access Options in SharePoint 2010Data Access Options in SharePoint 2010
Data Access Options in SharePoint 2010
 
Things Made Easy: One Click CMS Integration with Solr & Drupal
Things Made Easy: One Click CMS Integration with Solr & DrupalThings Made Easy: One Click CMS Integration with Solr & Drupal
Things Made Easy: One Click CMS Integration with Solr & Drupal
 
Taking Advantage of the SharePoint 2013 REST API
Taking Advantage of the SharePoint 2013 REST APITaking Advantage of the SharePoint 2013 REST API
Taking Advantage of the SharePoint 2013 REST API
 
Sharepoint Online
Sharepoint OnlineSharepoint Online
Sharepoint Online
 
Search overview
Search overviewSearch overview
Search overview
 
Best Practices to SharePoint Architecture Fundamentals NZ & AUS
Best Practices to SharePoint Architecture Fundamentals NZ & AUSBest Practices to SharePoint Architecture Fundamentals NZ & AUS
Best Practices to SharePoint Architecture Fundamentals NZ & AUS
 
SharePoint solution developer exam 70-488
SharePoint solution developer exam 70-488SharePoint solution developer exam 70-488
SharePoint solution developer exam 70-488
 
Exam 70-489 Developing Microsoft SharePoint Server 2013 Advanced Solutions Le...
Exam 70-489 Developing Microsoft SharePoint Server 2013 Advanced Solutions Le...Exam 70-489 Developing Microsoft SharePoint Server 2013 Advanced Solutions Le...
Exam 70-489 Developing Microsoft SharePoint Server 2013 Advanced Solutions Le...
 
SharePoint 2010 Application Development Overview
SharePoint 2010 Application Development OverviewSharePoint 2010 Application Development Overview
SharePoint 2010 Application Development Overview
 
Implementing Enterprise Search in SharePoint 2010
Implementing Enterprise Search in SharePoint 2010Implementing Enterprise Search in SharePoint 2010
Implementing Enterprise Search in SharePoint 2010
 
Ektron London Conference: New Search Features in Ektron 9
Ektron London Conference: New Search Features in Ektron 9Ektron London Conference: New Search Features in Ektron 9
Ektron London Conference: New Search Features in Ektron 9
 
Advanced SharePoint Web Part Development
Advanced SharePoint Web Part DevelopmentAdvanced SharePoint Web Part Development
Advanced SharePoint Web Part Development
 
Introduction to the SharePoint Client Object Model and REST API
Introduction to the SharePoint Client Object Model and REST APIIntroduction to the SharePoint Client Object Model and REST API
Introduction to the SharePoint Client Object Model and REST API
 
Gaining the Knowledge of the Open Data Protocol (OData) - Prairie Dev Con
Gaining the Knowledge of the Open Data Protocol (OData) - Prairie Dev ConGaining the Knowledge of the Open Data Protocol (OData) - Prairie Dev Con
Gaining the Knowledge of the Open Data Protocol (OData) - Prairie Dev Con
 
Sharepoint 2010 Object model topology
Sharepoint 2010 Object model topologySharepoint 2010 Object model topology
Sharepoint 2010 Object model topology
 
Parsing strange v4
Parsing strange v4Parsing strange v4
Parsing strange v4
 
Play with force.com metadata
Play with force.com metadataPlay with force.com metadata
Play with force.com metadata
 

Semelhante a Drupal and Apache Solr Search Go Together Like Pizza and Beer for Your Site

Apace Solr Web Development.pdf
Apace Solr Web Development.pdfApace Solr Web Development.pdf
Apace Solr Web Development.pdf
Abanti Aazmin
 
Solr Application Development Tutorial
Solr Application Development TutorialSolr Application Development Tutorial
Solr Application Development Tutorial
Erik Hatcher
 
Open Source Content Management Systems
Open Source Content Management SystemsOpen Source Content Management Systems
Open Source Content Management Systems
Matthew Turland
 
Enterprise search in_drupal_pub
Enterprise search in_drupal_pubEnterprise search in_drupal_pub
Enterprise search in_drupal_pub
dstuartnz
 
Solr Recipes Workshop
Solr Recipes WorkshopSolr Recipes Workshop
Solr Recipes Workshop
Erik Hatcher
 
Challenges of Simple Documents: When Basic isn't so Basic - Cassandra Targett...
Challenges of Simple Documents: When Basic isn't so Basic - Cassandra Targett...Challenges of Simple Documents: When Basic isn't so Basic - Cassandra Targett...
Challenges of Simple Documents: When Basic isn't so Basic - Cassandra Targett...
Lucidworks
 
Drupal Integration with Solr for Fabulous CMS Search
Drupal Integration with Solr for  Fabulous CMS SearchDrupal Integration with Solr for  Fabulous CMS Search
Drupal Integration with Solr for Fabulous CMS Search
Acquia
 
Introduction to Solr
Introduction to SolrIntroduction to Solr
Introduction to Solr
Erik Hatcher
 

Semelhante a Drupal and Apache Solr Search Go Together Like Pizza and Beer for Your Site (20)

Ramp Up Your Web Experiences Using Drupal and Apache Solr
Ramp Up Your Web Experiences Using Drupal and Apache SolrRamp Up Your Web Experiences Using Drupal and Apache Solr
Ramp Up Your Web Experiences Using Drupal and Apache Solr
 
Searchlight
SearchlightSearchlight
Searchlight
 
Apace Solr Web Development.pdf
Apace Solr Web Development.pdfApace Solr Web Development.pdf
Apace Solr Web Development.pdf
 
Drupal 7 and SolR
Drupal 7 and SolRDrupal 7 and SolR
Drupal 7 and SolR
 
Apache Solr-Webinar
Apache Solr-WebinarApache Solr-Webinar
Apache Solr-Webinar
 
Beginner's guide to drupal
Beginner's guide to drupalBeginner's guide to drupal
Beginner's guide to drupal
 
Solr Application Development Tutorial
Solr Application Development TutorialSolr Application Development Tutorial
Solr Application Development Tutorial
 
Solr 101
Solr 101Solr 101
Solr 101
 
Open Source Content Management Systems
Open Source Content Management SystemsOpen Source Content Management Systems
Open Source Content Management Systems
 
Switching search to SOLR
Switching search to SOLRSwitching search to SOLR
Switching search to SOLR
 
Enterprise search in_drupal_pub
Enterprise search in_drupal_pubEnterprise search in_drupal_pub
Enterprise search in_drupal_pub
 
Solr Architecture
Solr ArchitectureSolr Architecture
Solr Architecture
 
Ruby On Rails
Ruby On RailsRuby On Rails
Ruby On Rails
 
Solr Recipes Workshop
Solr Recipes WorkshopSolr Recipes Workshop
Solr Recipes Workshop
 
Challenges of Simple Documents: When Basic isn't so Basic - Cassandra Targett...
Challenges of Simple Documents: When Basic isn't so Basic - Cassandra Targett...Challenges of Simple Documents: When Basic isn't so Basic - Cassandra Targett...
Challenges of Simple Documents: When Basic isn't so Basic - Cassandra Targett...
 
Drupal Integration with Solr for Fabulous CMS Search
Drupal Integration with Solr for  Fabulous CMS SearchDrupal Integration with Solr for  Fabulous CMS Search
Drupal Integration with Solr for Fabulous CMS Search
 
Introduction to Solr
Introduction to SolrIntroduction to Solr
Introduction to Solr
 
TriHUG: Lucene Solr Hadoop
TriHUG: Lucene Solr HadoopTriHUG: Lucene Solr Hadoop
TriHUG: Lucene Solr Hadoop
 
Domas monkus drupal module development
Domas monkus drupal module developmentDomas monkus drupal module development
Domas monkus drupal module development
 
Apache Solr vs Oracle Endeca
Apache Solr vs Oracle EndecaApache Solr vs Oracle Endeca
Apache Solr vs Oracle Endeca
 

Mais de nyccamp

Drupal Aware Design: Good Techniques for Better Themes
Drupal Aware Design: Good Techniques for Better ThemesDrupal Aware Design: Good Techniques for Better Themes
Drupal Aware Design: Good Techniques for Better Themes
nyccamp
 
Building Social Networks
Building Social NetworksBuilding Social Networks
Building Social Networks
nyccamp
 
Building Social Networks
Building Social NetworksBuilding Social Networks
Building Social Networks
nyccamp
 
Node Access in Drupal 7 (and Drupal 8)
Node Access in Drupal 7 (and Drupal 8)Node Access in Drupal 7 (and Drupal 8)
Node Access in Drupal 7 (and Drupal 8)
nyccamp
 

Mais de nyccamp (19)

Drupal As A Jigsaw
Drupal As A JigsawDrupal As A Jigsaw
Drupal As A Jigsaw
 
A/B Testing and Optimizely Module
A/B Testing and Optimizely ModuleA/B Testing and Optimizely Module
A/B Testing and Optimizely Module
 
Behat - human-readable automated testing
Behat - human-readable automated testingBehat - human-readable automated testing
Behat - human-readable automated testing
 
ALL YOUR BASE (THEMES) ARE BELONG TO US
ALL YOUR BASE (THEMES) ARE BELONG TO USALL YOUR BASE (THEMES) ARE BELONG TO US
ALL YOUR BASE (THEMES) ARE BELONG TO US
 
Drupal Commerce - The Product vs Display Conundrum and How to Explain it to a...
Drupal Commerce - The Product vs Display Conundrum and How to Explain it to a...Drupal Commerce - The Product vs Display Conundrum and How to Explain it to a...
Drupal Commerce - The Product vs Display Conundrum and How to Explain it to a...
 
Promotions Vouchers and Offers in Drupal Commerce
Promotions Vouchers and Offers in Drupal CommercePromotions Vouchers and Offers in Drupal Commerce
Promotions Vouchers and Offers in Drupal Commerce
 
Workbench: Managing Content Management
Workbench: Managing Content ManagementWorkbench: Managing Content Management
Workbench: Managing Content Management
 
Deployment Strategies: Managing Code, Content, and Configurations
Deployment Strategies: Managing Code, Content, and ConfigurationsDeployment Strategies: Managing Code, Content, and Configurations
Deployment Strategies: Managing Code, Content, and Configurations
 
Drupal Aware Design: Good Techniques for Better Themes
Drupal Aware Design: Good Techniques for Better ThemesDrupal Aware Design: Good Techniques for Better Themes
Drupal Aware Design: Good Techniques for Better Themes
 
Drupal and Higher Education
Drupal and Higher EducationDrupal and Higher Education
Drupal and Higher Education
 
A New Theme Layer for Drupal 8
A New Theme Layer for Drupal 8A New Theme Layer for Drupal 8
A New Theme Layer for Drupal 8
 
Mobile and Responsive Design with Sass
Mobile and Responsive Design with SassMobile and Responsive Design with Sass
Mobile and Responsive Design with Sass
 
Building Social Networks
Building Social NetworksBuilding Social Networks
Building Social Networks
 
The State of Drupal 8
The State of Drupal 8The State of Drupal 8
The State of Drupal 8
 
Building Social Networks
Building Social NetworksBuilding Social Networks
Building Social Networks
 
Move Into Drupal Using The Migrate Module
Move Into Drupal Using The Migrate ModuleMove Into Drupal Using The Migrate Module
Move Into Drupal Using The Migrate Module
 
Hack Into Drupal Sites (or, How to Secure Your Drupal Site)
Hack Into Drupal Sites (or, How to Secure Your Drupal Site)Hack Into Drupal Sites (or, How to Secure Your Drupal Site)
Hack Into Drupal Sites (or, How to Secure Your Drupal Site)
 
Drulenium - Testing Made Easy
Drulenium - Testing Made EasyDrulenium - Testing Made Easy
Drulenium - Testing Made Easy
 
Node Access in Drupal 7 (and Drupal 8)
Node Access in Drupal 7 (and Drupal 8)Node Access in Drupal 7 (and Drupal 8)
Node Access in Drupal 7 (and Drupal 8)
 

Último

Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 

Último (20)

Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 
AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 

Drupal and Apache Solr Search Go Together Like Pizza and Beer for Your Site

  • 1. July 21, 2012 Drupal and Apache Solr Search Go Together Like Pizza and Beer for Your Site Peter M. Wolanin, Ph.D. Momentum Specialist (principal engineer), Acquia, Inc. Drupal contributor drupal.org/user/49851 co-maintainer of the Drupal Apache Solr Search Integration module
  • 3. Pizza Without Beer? Ok, Drupal alone is great, but a we can make it even more appealing and satisfying. Are you wondering how hard it is to actually integrate Apache Solr with Drupal? Do you like things that are easy yet powerful?
  • 4. Drupal + Solr Provides Immediate Access to Rich Search Features Dynamic content requires dynamic navigation - which is provided by an effective search. Search facets mean no dead ends. Solr provides better keyword relevancy in results. Much faster searches for sites with lots of content. By avoiding database queries, Drupal with Solr scales better.
  • 5. Many Solr Integration Challenges Are Already Solved for You The most important - content indexing. Facets, sorting, and highlighting of results. Immediate integration with the More Like This and spell-check handlers. Included sub-module integrates content access permissions by indexing to and filtering Solr results based on the current user.
  • 6. Key Questions to Be Answered What are the key Solr concepts you need to understand to get the most out of the Apache Solr Search Integration module? How is the module admin UI organized? How do I configure facets, search pages, and content recommendation blocks? How can I index file attachments?
  • 7. Solr Interface/API is HTTP Drupal sends data to Solr as XML documents POST XML to /update to add or delete. Search via GET requests. If something is not working as expected, you can try searching directly in Solr via URL Solr also includes admin and analysis interfaces (you need to lock this down for production).
  • 8.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19. ?q=search/node/ratis WTH? no facets!
  • 20.
  • 22. Easy Content Recommendation! Uses the MLT handler Picks fields from the currently viewed node
  • 23. A short diversion... Search Environments Reference Different Servers and/or Config Most people need only one to start. The most important use is to bundle different sets of enabled facets and their configuration - e.g. for different search pages. Can also be used to search multiple servers. Each has its own ID and config variables.
  • 24.
  • 25.
  • 26.
  • 27.
  • 28.
  • 29. The Module Has a Pipeline for Indexing Drupal Content to Solr Drupal entities are processed into one (or more) document objects. Each document object is converted to XML and sent to Solr. Node object Document object XML string entity_type <doc> title label <field <field name="entity_type">node</field> name="label">Hello Drupal</field> <field name="entity_id">101</field> nid entity_id <field </doc> name="bundle">session</field> type Drupal bundle callbacks & hooks
  • 30.
  • 31. Entity Meta-data Gives Automatic Facets! Content types Taxonomy terms per vocabulary Content authors Posted and modified dates Text and numbers selected via select list/radios/check boxes
  • 32. Updates to an Entity or Related Meta-data Cause Reindexing Drupal entities are indexed during Drupal cron. By using a specialized tracking table, content can automatically be queued for reindex when changed, and subsets of content can potentially be sent to different Solr indexes. Entities include many ID-based reference fields (e.g. the User ID of the node author). Changes to the referenced data is also watched.
  • 33. Finding the “Right” Results A big frustration is when the result you expect for a keyword or set of keywords is not first, or even on the first page. Apache Solr has very flexible result scoring - you just need to know how to tune it. Different sites have different needs - the default settings may be poor for yours. acquia.com/blog/delivering-right-search-results
  • 34.
  • 35.
  • 36.
  • 37. More Modules Available to Add More Features A few examples: ApacheSolr Attachments Apache Solr Multisite Search Apache Solr Organic Groups Integration Apachesolr User indexing Apachesolr Commerce
  • 39.
  • 40. To Wrap Up ! Drupal has extensive Apache Solr integration already, and it is highly customizable in the UI. Apache Solr Search Integration offers more robust integration as compared to Search API Solr and both Drupal 6 and 7 support. Acquia includes a secure, hosted Solr index with every support subscription. Get started fast with a 30 day free trial.
  • 41. Acquia is Hiring! Do you love Drupal, Solr, the LAMP stack, DevOps or anything related, and working at a fast-growing and successful startup? Boston, Portland, D.C. area U.S. offices. Some remote opportunities as well. Come talk to me! peter.wolanin@acquia.com pwolanin in IRC #drupal-apachesolr