SlideShare uma empresa Scribd logo
1 de 26
Baixar para ler offline
October 7, 2010




Drupal Integration with Solr for
Fabulous CMS Search



Peter M. Wolanin, Ph.D.
Principal Engineer, Acquia, Inc.
Drupal contributor drupal.org/user/49851
co-maintainer of the Drupal Apache Solr Search Integration module


                                                                    © 2010 Acquia, Inc.
What You Will Learn



  A little about Drupal
  Drupal terminolgy
  Examples of Drupal sites using Apache Solr
  How Drupal works with Apache Solr
  Configuration options for searches
  Customization possibilities


                                               © 2010 Acquia, Inc.
Drupal: Web Application Framework +
CMS == Social Publishing Platform
Drupal “… is as much a Social Software platform
as it is a web content management system.”

                                                       content        users
CMS Watch, The Web CMS Report 2009
                                                                                blogs /
                                            workflow                              wikis




                                                                                      forums /
                                     taxonomy                                        comments
                                                      Content         Social
                                                      Mgmt         Software
                                     semantic
                                                      Systems          Tools               social
                                                                                          ranking
                                       web



                                                                                 social
                                                RSS                             tagging


                                                                      social
                                                       analytics
                                                                     networks



                                                                                      © 2010 Acquia, Inc.
Drupal Has User Accounts, Roles &
Permissions
  Define custom roles
  Set granular access
  controls by role
  – Task / object-based
  Configure user
  behavior:
  – Registration
  – Email
  – Profiles
  – Pictures
                                    © 2010 Acquia, Inc.
Drupal Modules Add Functionality

 “There’s a module for that”
 More than 4,700
 community modules
 available for Drupal 6.x
 Often controlled by role-
 based permissions
 Drupal core and modules
 are GPL v2+, and have a
 huge, active community

                                   © 2010 Acquia, Inc.
Drupal Theme Controls Appearance

 Content presentation
  – Separate from data
  – Defines how content is
    displayed
 Alter module output
 Components include
 CSS files & PHP
 template files
 Support sub-themes
 for rapid customization
                                   © 2010 Acquia, Inc.
Drupal Nodes are Content + Data
 Nodes are the basic unit
 of content
 The node system is         Node 1   Node 2   Node 3
 extensible - can
 represent any data
                            Node 4   Node 5   Node 6
 Examples of content
 stored within Drupal
                            Node 7   Node 8   Node 9
  – Text
  – Images
  – MP3s
  – Node reference
                                                       © 2010 Acquia, Inc.
Node Types are Enriched With CCK Fields

  Define new data fields
  within a node using the
  CCK module.
  – Text, images, integers,
    date, reference, etc
  Flexible and
  configurable in the UI
  No programming
  required (many existing
  modules define fields)
                                          © 2010 Acquia, Inc.
Apply Taxonomy Vocabulary & Terms

  Provide a strong
  framework for content
  classification
  Modules provide
  taxonomy-based
  appearance, access
  control
  Standard input options
  include free tagging,
  flat-controlled, and
  hierarchical-controlled
                                    © 2010 Acquia, Inc.
Drupal + Solr Powers Search for
 Businesses, Governements and NGOs




                                                           http://www.whitehouse.gov/search/site/
http://www.mattel.com/search/apachesolr_search/
                                             http://opensource.com/search/apachesolr_search/
  https://www.ethicshare.org/publications/             http://www.nypl.org/search/apachesolr_search/

                 http://www.mylifetime.com/community/search/apachesolr_search/
http://www.restorethegulf.gov/search/apachesolr_search/
                                           http://www.hrw.org/en/search/apachesolr_search/
 http://www.poly.edu/search/apachesolr_search/
                                                                                               © 2010 Acquia, Inc.
Drupal + Solr Has Immediate Benefits


  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


                                                   © 2010 Acquia, Inc.
Node 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

                                   © 2010 Acquia, Inc.
Easily Add Content Recommendation

  Uses the MLT handler
  Picks fields from the currently viewed node




                                               © 2010 Acquia, Inc.
Configure Each MLT Block in the UI




                                    © 2010 Acquia, Inc.
Advanced Solr Features Plus
Configuration in the UI

  Dynamic fields in schema.xml index CCK and
  custom node data fields
  Query-time boosting options available in the UI
  Dismax handler used for easy keyword searching
  and per-field boosts
  Add a Drupal modules for attachment indexing
  Another module for multi-site search
            Here’s a quick look at the admin interface:
                                                    © 2010 Acquia, Inc.
© 2010 Acquia, Inc.
© 2010 Acquia, Inc.
Drupal Modules Implement hooks to
Control Indexing and Retrieval of Data
 hook_apachesolr_update_index(&$document, $node,
 $namespace)

  By creating a Drupal module (in PHP), you can
  implement module and theme hooks to extend or
  alter Drupal behavior.
  Change or replace the data normally indexed
  Modify the search results and their appearance



                                                   © 2010 Acquia, Inc.
Image Data Using Dynamic Fields
/**
  * Implementation of hook_apachesolr_update_index().
  */
function apachesolr_image_apachesolr_update_index(&$document, $node, $namespace) {
   if ($node->type == 'image' && $document->entity == 'node') {
     $areas = array();
     $sizes = image_get_derivative_sizes($node->images['_original']);
     foreach ($sizes as $name => $info) {
       $areas[$name] = $info['width'] * $info['height'];
     }
     asort($areas);
     $image_path = FALSE;
     foreach ($areas as $preset => $size) {
       $image_path = $node->images[$preset];
       break;
     }
     if ($image_path) {
       $document->ss_image_relative = $image_path;
       // Support multi-site too.
       $document->ss_image_absolute = file_create_url($image_path);
     }
   }
}

/**
  * Implementation of hook_apachesolr_modify_query().
  */
function apachesolr_image_apachesolr_modify_query(&$query, &$params, $caller) {
   // Also retrieve image thumbnail links.
   $params['fl'] .= ',ss_image_relative';
}

                                                                                     © 2010 Acquia, Inc.
Image Data Using Dynamic Fields

 if ($image_path) {
   $document->ss_image_relative =
$image_path;
 }

/**
  * Implement hook_apachesolr_modify_query().
  */
function
apachesolr_image_apachesolr_modify_query(
&$query, &$params, $caller) {
   // Also retrieve image thumbnail links.
   $params['fl'] .= ',ss_image_relative';
}
                                           © 2010 Acquia, Inc.
To Wrap Up


  Drupal has extensive Apache Solr integration
  already, and is highly customizable.
  The Drupal platform is widely adopted, and the
  Drupal community drives rapid innovation.
  Acquia provides Enterprise Drupal support and a
  network of partners.
  Acquia includes a secure, hosted Solr index with
  every support subscription.

                                                   © 2010 Acquia, Inc.
Resources ... Questions?


  http://drupal.org/project/apachesolr
  http://drupal.org/project/apachesolr_attachments
  http://drupal.org/project/luceneapi (pure PHP)
  SF video: http://www.archive.org/details/
  ApacheSolrSearchMastery
  http://acquia.com/category/tags/apachesolr
  http://groups.drupal.org/lucene-nutch-and-solr


                                               © 2010 Acquia, Inc.
Drupal Adapts toYou!




                       © 2010 Acquia, Inc.

Mais conteúdo relacionado

Mais procurados

Sharepoint 2013 upgrade process
Sharepoint 2013 upgrade processSharepoint 2013 upgrade process
Sharepoint 2013 upgrade process
LiquidHub
 
Paul Fremantle Restful SOA Registry
Paul Fremantle Restful SOA RegistryPaul Fremantle Restful SOA Registry
Paul Fremantle Restful SOA Registry
deimos
 
Drupal For the Enterprise
Drupal For the EnterpriseDrupal For the Enterprise
Drupal For the Enterprise
Acquia
 

Mais procurados (15)

(28.04) MOSSCA Invita - Bienvenidos a la casa de Sharepoint - Visión técnica
(28.04) MOSSCA Invita - Bienvenidos a la casa de Sharepoint - Visión técnica(28.04) MOSSCA Invita - Bienvenidos a la casa de Sharepoint - Visión técnica
(28.04) MOSSCA Invita - Bienvenidos a la casa de Sharepoint - Visión técnica
 
Sharepoint 2013 upgrade process
Sharepoint 2013 upgrade processSharepoint 2013 upgrade process
Sharepoint 2013 upgrade process
 
Content is King - ECM in SharePoint 2010 - SharePoint Saturday Denver
Content is King - ECM in SharePoint 2010 - SharePoint Saturday DenverContent is King - ECM in SharePoint 2010 - SharePoint Saturday Denver
Content is King - ECM in SharePoint 2010 - SharePoint Saturday Denver
 
Integration visualization
Integration visualizationIntegration visualization
Integration visualization
 
Paul Fremantle Restful SOA Registry
Paul Fremantle Restful SOA RegistryPaul Fremantle Restful SOA Registry
Paul Fremantle Restful SOA Registry
 
Documentation 2.0: DIY Content Delivery and Feedback in Real-time
Documentation 2.0: DIY Content Delivery and Feedback in Real-timeDocumentation 2.0: DIY Content Delivery and Feedback in Real-time
Documentation 2.0: DIY Content Delivery and Feedback in Real-time
 
Drupal For the Enterprise
Drupal For the EnterpriseDrupal For the Enterprise
Drupal For the Enterprise
 
Oit2010 model databases
Oit2010 model databasesOit2010 model databases
Oit2010 model databases
 
Deploying the share point user profile service
Deploying the share point user profile serviceDeploying the share point user profile service
Deploying the share point user profile service
 
Drupal
DrupalDrupal
Drupal
 
Part II: SharePoint 2013 Administration by Todd Klindt and Shane Young - SPTe...
Part II: SharePoint 2013 Administration by Todd Klindt and Shane Young - SPTe...Part II: SharePoint 2013 Administration by Todd Klindt and Shane Young - SPTe...
Part II: SharePoint 2013 Administration by Todd Klindt and Shane Young - SPTe...
 
3 022
3 0223 022
3 022
 
SharePoint Careers and Introduction to SharePoint 2013 Services and Topology
SharePoint Careers and Introduction to SharePoint 2013 Services and TopologySharePoint Careers and Introduction to SharePoint 2013 Services and Topology
SharePoint Careers and Introduction to SharePoint 2013 Services and Topology
 
CMS Solution Benefits
CMS Solution BenefitsCMS Solution Benefits
CMS Solution Benefits
 
KMWorld SharePoint 2010-Admin 101
KMWorld SharePoint 2010-Admin 101KMWorld SharePoint 2010-Admin 101
KMWorld SharePoint 2010-Admin 101
 

Semelhante a Drupal Integration with Solr for Fabulous CMS Search

Getting Started with Drupal and Acuqia
Getting Started with Drupal and AcuqiaGetting Started with Drupal and Acuqia
Getting Started with Drupal and Acuqia
Acquia
 
Acquia - NY Senate GSA
Acquia - NY Senate GSAAcquia - NY Senate GSA
Acquia - NY Senate GSA
Acquia
 
Acquia - NY Senate GSA
Acquia - NY Senate GSAAcquia - NY Senate GSA
Acquia - NY Senate GSA
Acquia
 
Drupal - presentazione formazione sessione I
Drupal - presentazione formazione sessione IDrupal - presentazione formazione sessione I
Drupal - presentazione formazione sessione I
Gian Luca Matteucci
 
Mlb drupal bizday_presentation
Mlb drupal bizday_presentationMlb drupal bizday_presentation
Mlb drupal bizday_presentation
erlee72
 
JIIT PORTAL based on Drupal
JIIT PORTAL based on DrupalJIIT PORTAL based on Drupal
JIIT PORTAL based on Drupal
Prashant Saini
 
Ajuby: Open Source Application Builder
Ajuby: Open Source Application BuilderAjuby: Open Source Application Builder
Ajuby: Open Source Application Builder
mosespaik
 

Semelhante a Drupal Integration with Solr for Fabulous CMS Search (20)

Getting Started with Drupal and Acuqia
Getting Started with Drupal and AcuqiaGetting Started with Drupal and Acuqia
Getting Started with Drupal and Acuqia
 
Making Drupal 7 Simple to Use for Everyone
Making Drupal 7 Simple to Use for EveryoneMaking Drupal 7 Simple to Use for Everyone
Making Drupal 7 Simple to Use for Everyone
 
Acquia - NY Senate GSA
Acquia - NY Senate GSAAcquia - NY Senate GSA
Acquia - NY Senate GSA
 
Acquia - NY Senate GSA
Acquia - NY Senate GSAAcquia - NY Senate GSA
Acquia - NY Senate GSA
 
The Race To 50 Million Page Views
The Race To 50 Million Page ViewsThe Race To 50 Million Page Views
The Race To 50 Million Page Views
 
Acquia Business Mandate Deck Final
Acquia Business Mandate Deck FinalAcquia Business Mandate Deck Final
Acquia Business Mandate Deck Final
 
Decoupling Drupal 8.x: Drupal’s Web Services Today and Tomorrow
Decoupling Drupal 8.x: Drupal’s Web Services Today and TomorrowDecoupling Drupal 8.x: Drupal’s Web Services Today and Tomorrow
Decoupling Drupal 8.x: Drupal’s Web Services Today and Tomorrow
 
Drupal and Winona360
Drupal and Winona360Drupal and Winona360
Drupal and Winona360
 
Beginner's guide to drupal
Beginner's guide to drupalBeginner's guide to drupal
Beginner's guide to drupal
 
Drupal is from Mars, Wordpress is from Venus: Finding your library's CMS soul...
Drupal is from Mars, Wordpress is from Venus: Finding your library's CMS soul...Drupal is from Mars, Wordpress is from Venus: Finding your library's CMS soul...
Drupal is from Mars, Wordpress is from Venus: Finding your library's CMS soul...
 
Drupal - presentazione formazione sessione I
Drupal - presentazione formazione sessione IDrupal - presentazione formazione sessione I
Drupal - presentazione formazione sessione I
 
Mlb drupal bizday_presentation
Mlb drupal bizday_presentationMlb drupal bizday_presentation
Mlb drupal bizday_presentation
 
The Technical Side of Harvard.edu Redesign
The Technical Side of Harvard.edu RedesignThe Technical Side of Harvard.edu Redesign
The Technical Side of Harvard.edu Redesign
 
PoolParty Thesaurus Management Quick Overview
PoolParty Thesaurus Management Quick OverviewPoolParty Thesaurus Management Quick Overview
PoolParty Thesaurus Management Quick Overview
 
How to Optimize Your Drupal Site with Structured Content
How to Optimize Your Drupal Site with Structured ContentHow to Optimize Your Drupal Site with Structured Content
How to Optimize Your Drupal Site with Structured Content
 
JIIT PORTAL based on Drupal
JIIT PORTAL based on DrupalJIIT PORTAL based on Drupal
JIIT PORTAL based on Drupal
 
Ajuby: Open Source Application Builder
Ajuby: Open Source Application BuilderAjuby: Open Source Application Builder
Ajuby: Open Source Application Builder
 
Boost and SEO
Boost and SEOBoost and SEO
Boost and SEO
 
Approaches to mobile site development
Approaches to mobile site developmentApproaches to mobile site development
Approaches to mobile site development
 
Nasdanika Foundation Server
Nasdanika Foundation ServerNasdanika Foundation Server
Nasdanika Foundation Server
 

Mais de Acquia

Taking Your Multi-Site Management at Scale to the Next Level
Taking Your Multi-Site Management at Scale to the Next LevelTaking Your Multi-Site Management at Scale to the Next Level
Taking Your Multi-Site Management at Scale to the Next Level
Acquia
 

Mais de Acquia (20)

Acquia_Adcetera Webinar_Marketing Automation.pdf
Acquia_Adcetera Webinar_Marketing Automation.pdfAcquia_Adcetera Webinar_Marketing Automation.pdf
Acquia_Adcetera Webinar_Marketing Automation.pdf
 
Acquia Webinar Deck - 9_13 .pdf
Acquia Webinar Deck - 9_13 .pdfAcquia Webinar Deck - 9_13 .pdf
Acquia Webinar Deck - 9_13 .pdf
 
Taking Your Multi-Site Management at Scale to the Next Level
Taking Your Multi-Site Management at Scale to the Next LevelTaking Your Multi-Site Management at Scale to the Next Level
Taking Your Multi-Site Management at Scale to the Next Level
 
CDP for Retail Webinar with Appnovation - Q2 2022.pdf
CDP for Retail Webinar with Appnovation - Q2 2022.pdfCDP for Retail Webinar with Appnovation - Q2 2022.pdf
CDP for Retail Webinar with Appnovation - Q2 2022.pdf
 
May Partner Bootcamp 2022
May Partner Bootcamp 2022May Partner Bootcamp 2022
May Partner Bootcamp 2022
 
April Partner Bootcamp 2022
April Partner Bootcamp 2022April Partner Bootcamp 2022
April Partner Bootcamp 2022
 
How to Unify Brand Experience: A Hootsuite Story
How to Unify Brand Experience: A Hootsuite Story How to Unify Brand Experience: A Hootsuite Story
How to Unify Brand Experience: A Hootsuite Story
 
Using Personas to Guide DAM Results: How Life Time Pumped Up Their UX and CX
Using Personas to Guide DAM Results: How Life Time Pumped Up Their UX and CXUsing Personas to Guide DAM Results: How Life Time Pumped Up Their UX and CX
Using Personas to Guide DAM Results: How Life Time Pumped Up Their UX and CX
 
Improve Code Quality and Time to Market: 100% Cloud-Based Development Workflow
Improve Code Quality and Time to Market: 100% Cloud-Based Development WorkflowImprove Code Quality and Time to Market: 100% Cloud-Based Development Workflow
Improve Code Quality and Time to Market: 100% Cloud-Based Development Workflow
 
September Partner Bootcamp
September Partner BootcampSeptember Partner Bootcamp
September Partner Bootcamp
 
August partner bootcamp
August partner bootcampAugust partner bootcamp
August partner bootcamp
 
July 2021 Partner Bootcamp
July  2021 Partner BootcampJuly  2021 Partner Bootcamp
July 2021 Partner Bootcamp
 
May Partner Bootcamp
May Partner BootcampMay Partner Bootcamp
May Partner Bootcamp
 
DRUPAL 7 END OF LIFE IS NEAR - MIGRATE TO DRUPAL 9 FAST AND EASY
DRUPAL 7 END OF LIFE IS NEAR - MIGRATE TO DRUPAL 9 FAST AND EASYDRUPAL 7 END OF LIFE IS NEAR - MIGRATE TO DRUPAL 9 FAST AND EASY
DRUPAL 7 END OF LIFE IS NEAR - MIGRATE TO DRUPAL 9 FAST AND EASY
 
Work While You Sleep: The CMO’s Guide to a 24/7/365 Lead Machine
Work While You Sleep: The CMO’s Guide to a 24/7/365 Lead MachineWork While You Sleep: The CMO’s Guide to a 24/7/365 Lead Machine
Work While You Sleep: The CMO’s Guide to a 24/7/365 Lead Machine
 
Acquia webinar: Leveraging Drupal to Bury Your Sales Team In B2B Leads
Acquia webinar: Leveraging Drupal to Bury Your Sales Team In B2B LeadsAcquia webinar: Leveraging Drupal to Bury Your Sales Team In B2B Leads
Acquia webinar: Leveraging Drupal to Bury Your Sales Team In B2B Leads
 
April partner bootcamp deck cookieless future
April partner bootcamp deck  cookieless futureApril partner bootcamp deck  cookieless future
April partner bootcamp deck cookieless future
 
How to enhance cx through personalised, automated solutions
How to enhance cx through personalised, automated solutionsHow to enhance cx through personalised, automated solutions
How to enhance cx through personalised, automated solutions
 
DRUPAL MIGRATIONS AND DRUPAL 9 INNOVATION: HOW PAC-12 DELIVERED DIGITALLY FOR...
DRUPAL MIGRATIONS AND DRUPAL 9 INNOVATION: HOW PAC-12 DELIVERED DIGITALLY FOR...DRUPAL MIGRATIONS AND DRUPAL 9 INNOVATION: HOW PAC-12 DELIVERED DIGITALLY FOR...
DRUPAL MIGRATIONS AND DRUPAL 9 INNOVATION: HOW PAC-12 DELIVERED DIGITALLY FOR...
 
Customer Experience (CX): 3 Key Factors Shaping CX Redesign in 2021
Customer Experience (CX): 3 Key Factors Shaping CX Redesign in 2021Customer Experience (CX): 3 Key Factors Shaping CX Redesign in 2021
Customer Experience (CX): 3 Key Factors Shaping CX Redesign in 2021
 

Último

Último (20)

presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
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
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your Business
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdf
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
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
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
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
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 

Drupal Integration with Solr for Fabulous CMS Search

  • 1. October 7, 2010 Drupal Integration with Solr for Fabulous CMS Search Peter M. Wolanin, Ph.D. Principal Engineer, Acquia, Inc. Drupal contributor drupal.org/user/49851 co-maintainer of the Drupal Apache Solr Search Integration module © 2010 Acquia, Inc.
  • 2. What You Will Learn A little about Drupal Drupal terminolgy Examples of Drupal sites using Apache Solr How Drupal works with Apache Solr Configuration options for searches Customization possibilities © 2010 Acquia, Inc.
  • 3. Drupal: Web Application Framework + CMS == Social Publishing Platform Drupal “… is as much a Social Software platform as it is a web content management system.” content users CMS Watch, The Web CMS Report 2009 blogs / workflow wikis forums / taxonomy comments Content Social Mgmt Software semantic Systems Tools social ranking web social RSS tagging social analytics networks © 2010 Acquia, Inc.
  • 4. Drupal Has User Accounts, Roles & Permissions Define custom roles Set granular access controls by role – Task / object-based Configure user behavior: – Registration – Email – Profiles – Pictures © 2010 Acquia, Inc.
  • 5. Drupal Modules Add Functionality “There’s a module for that” More than 4,700 community modules available for Drupal 6.x Often controlled by role- based permissions Drupal core and modules are GPL v2+, and have a huge, active community © 2010 Acquia, Inc.
  • 6. Drupal Theme Controls Appearance Content presentation – Separate from data – Defines how content is displayed Alter module output Components include CSS files & PHP template files Support sub-themes for rapid customization © 2010 Acquia, Inc.
  • 7. Drupal Nodes are Content + Data Nodes are the basic unit of content The node system is Node 1 Node 2 Node 3 extensible - can represent any data Node 4 Node 5 Node 6 Examples of content stored within Drupal Node 7 Node 8 Node 9 – Text – Images – MP3s – Node reference © 2010 Acquia, Inc.
  • 8. Node Types are Enriched With CCK Fields Define new data fields within a node using the CCK module. – Text, images, integers, date, reference, etc Flexible and configurable in the UI No programming required (many existing modules define fields) © 2010 Acquia, Inc.
  • 9. Apply Taxonomy Vocabulary & Terms Provide a strong framework for content classification Modules provide taxonomy-based appearance, access control Standard input options include free tagging, flat-controlled, and hierarchical-controlled © 2010 Acquia, Inc.
  • 10. Drupal + Solr Powers Search for Businesses, Governements and NGOs http://www.whitehouse.gov/search/site/ http://www.mattel.com/search/apachesolr_search/ http://opensource.com/search/apachesolr_search/ https://www.ethicshare.org/publications/ http://www.nypl.org/search/apachesolr_search/ http://www.mylifetime.com/community/search/apachesolr_search/ http://www.restorethegulf.gov/search/apachesolr_search/ http://www.hrw.org/en/search/apachesolr_search/ http://www.poly.edu/search/apachesolr_search/ © 2010 Acquia, Inc.
  • 11. Drupal + Solr Has Immediate Benefits 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 © 2010 Acquia, Inc.
  • 12. Node 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 © 2010 Acquia, Inc.
  • 13. Easily Add Content Recommendation Uses the MLT handler Picks fields from the currently viewed node © 2010 Acquia, Inc.
  • 14. Configure Each MLT Block in the UI © 2010 Acquia, Inc.
  • 15. Advanced Solr Features Plus Configuration in the UI Dynamic fields in schema.xml index CCK and custom node data fields Query-time boosting options available in the UI Dismax handler used for easy keyword searching and per-field boosts Add a Drupal modules for attachment indexing Another module for multi-site search Here’s a quick look at the admin interface: © 2010 Acquia, Inc.
  • 18.
  • 19.
  • 20.
  • 21. Drupal Modules Implement hooks to Control Indexing and Retrieval of Data hook_apachesolr_update_index(&$document, $node, $namespace) By creating a Drupal module (in PHP), you can implement module and theme hooks to extend or alter Drupal behavior. Change or replace the data normally indexed Modify the search results and their appearance © 2010 Acquia, Inc.
  • 22. Image Data Using Dynamic Fields /** * Implementation of hook_apachesolr_update_index(). */ function apachesolr_image_apachesolr_update_index(&$document, $node, $namespace) { if ($node->type == 'image' && $document->entity == 'node') { $areas = array(); $sizes = image_get_derivative_sizes($node->images['_original']); foreach ($sizes as $name => $info) { $areas[$name] = $info['width'] * $info['height']; } asort($areas); $image_path = FALSE; foreach ($areas as $preset => $size) { $image_path = $node->images[$preset]; break; } if ($image_path) { $document->ss_image_relative = $image_path; // Support multi-site too. $document->ss_image_absolute = file_create_url($image_path); } } } /** * Implementation of hook_apachesolr_modify_query(). */ function apachesolr_image_apachesolr_modify_query(&$query, &$params, $caller) { // Also retrieve image thumbnail links. $params['fl'] .= ',ss_image_relative'; } © 2010 Acquia, Inc.
  • 23. Image Data Using Dynamic Fields if ($image_path) { $document->ss_image_relative = $image_path; } /** * Implement hook_apachesolr_modify_query(). */ function apachesolr_image_apachesolr_modify_query( &$query, &$params, $caller) { // Also retrieve image thumbnail links. $params['fl'] .= ',ss_image_relative'; } © 2010 Acquia, Inc.
  • 24. To Wrap Up Drupal has extensive Apache Solr integration already, and is highly customizable. The Drupal platform is widely adopted, and the Drupal community drives rapid innovation. Acquia provides Enterprise Drupal support and a network of partners. Acquia includes a secure, hosted Solr index with every support subscription. © 2010 Acquia, Inc.
  • 25. Resources ... Questions? http://drupal.org/project/apachesolr http://drupal.org/project/apachesolr_attachments http://drupal.org/project/luceneapi (pure PHP) SF video: http://www.archive.org/details/ ApacheSolrSearchMastery http://acquia.com/category/tags/apachesolr http://groups.drupal.org/lucene-nutch-and-solr © 2010 Acquia, Inc.
  • 26. Drupal Adapts toYou! © 2010 Acquia, Inc.