SlideShare a Scribd company logo
1 of 85
Download to read offline
APACHE SOLR CHANGES THE
   WAY YOU BUILD SITES
 How to build dynamic navigation for dynamic content


                Jacob Singh and Peter Wolanin
                    Drupalcon Paris, September 3rd 2009
RELEVANT AND FAST
FILTERS
SORTABLE
MORE LIKE THIS
SITE NAVIGATION
INFORMATION ARCHITECTURE
•Isthe science and art of guessing
 what your users want to see or do
 on your site and helping them get
 there
•Often  done without actually
 consulting visitors or proper
 understanding of the target market
ARCHETYPES - WHO
CONTENT - YOU GOT IT
ORGANIZE AND PROSPER!
NAVIGATION
SO? WHAT’S WRONG WITH
        THAT?
(1996)


    Site Map!
WEBSITES GROW.


•Sometimes   really fast.
• Andalways in ways you didn’t
expect
WHY DOES THIS HAPPEN?
VISITORS ARE TOO VARIED TO
     THINK OF THEM ALL




 YOUR CONTENT IS TOO
 VARIED FOR YOUR MENU
WHERE ARE BEER HATS?
YOUR CONTENT IS TOO VAST
  AND TAKES TOO MANY
     CLICKS TO FIND
TOOK 7 CLICKS TO FIND
      DRUPAL
YOUR CONTENT IS
CONTRIBUTED BY USERS
 AND UNPREDICTABLE.
DRUPAL IS A SOCIAL
PUBLISHING PLATFORM
YOU USE IT SO USERS
WILL ADD CONTENT
           That’s the point!
IF WE HAVE DYNAMIC USER
  CONTRIBUTED CONTENT
IF WE HAVE DYNAMIC USER
  CONTRIBUTED CONTENT


 WHY DO WE INSIST ON
 STATIC ADMIN DEFINED
     NAVIGATION?
WEB 2.0 JARGON
          TO SAVE THE DAY

•Tag   Clouds
•Content    Recommendation
•Social   Networking
•Social   Bookmarking
HOW SEARCH DIED
       AND
HOW WE BRING IT BACK
SEARCH IS NOT A PRIORITY
MOST DRUPAL WEBSITES
REALLY IGNORE SEARCH
CAN YOU FIND THE SEARCH
          BOX?




 HINT: I’VE CIRCLED IT IN
       ORANGE
WHAT DO THE BIG SITES DO?
WHY DID SEARCH DIE?


•It   was too slow
•It   wasn’t smart enough
•Users    learned not to trust it
LANGUAGE IS IMPORTANT
GOLDEN RULE:
   No Dead Ends!
SEARCH ON G.D.O
FIND OUT WHERE TO LOOK
FOUND ‘EM
I LEFT MY TIME MACHINE AT
           HOME
SMARTER MATCHES
STEMMING
SPELLING SUGGESTIONS
BUT I’M THE ADMIN!
ALL THE COOL KIDS ARE
      DOING IT
DAMZ EN L’MASSION
A TAILOR MADE NAVIGATION
      FOR EVERY USER

      You want it, right?
The Apache Solr Project
• Stable and proven.
 – Used by Netflix, CNET, CitySearch, StubHub!, GameSpot, AOL
 – Full time maintainers
 – VERY Active mailing list (about 1k messages per month)
• Fast: written in Java.
• Uses Lucene: the top open source search
  library.
• Distibuted: scales out in multiple directions.
Apache Solr Search Integration
• Very active project on drupal.org.
• Takes advantage of latest Solr features.
• Exposes an API to modify search and display
  behavior.
• Supported by engineers at Acquia.
• All Acquia code improvements have been
  contributed back to the Drupal.org project.
• Many of the Drupalcon sponsors and attendees
  are already involved and using it.
Feaure highlights
• Taxonomy, user, and language facets.
• Node type faceting, weighting, and exclusion.
• Node property (e.g. sticky) and date weighting.
• Date facets on content creation or change.
• OG facets (optional sub-module).
• Node access respected (optional sub-module).
• More-like-this content recommendations.
• Customizable (see drupal.org module browsing
 features).
Integration with other modules/data
• Webmail: http://drupal.org/project/webmail_plus
• Attachments:
 http://drupal.org/project/apachesolr_attachments
• Views: http://drupal.org/project/apachesolr_views
• Services: http://drupal.org/project/solr_service
• Nodequeue: http://drupal.org/project/nodequeue
• RDF: http://drupal.org/project/apachesolr_rdf
• Project: http://drupal.org/project/project
• Ubercart: http://drupal.org/project/apachesolr_ubercart
You Can Run                               Yourself. Easy!
1. Get a dedicated server or a VPS and get Solr loaded on it.
2. Find a Java server administrator or get some books.
3. Get the Drupal module, install the PHP library, and configure it.
4. Replace the stock Solr configuration files with Drupal ones.
5. Learn about Solr replication and configuring it.
6. Set up log management, alerting, monitoring, etc.
7. Implement regular upgrades or patches to Solr which will requiring getting your Java
   development set up and building from source sometimes.
8. Keep up to date with the Drupal module.
9. Implement a security regime to protect data transfer (i.e. so spammers can’t add Viagra ads
   to your search results)
10. Harden your servers, setup firewalls and IP-based, password-based, or other security.
11. Figure out how handle updates and versioning of Solr and your schema.
12. *Recommended: Get on the solr-user and solr-developer mailing lists to get updates and
  alerts on the Apache Solr project. Don’t worry, it’s only a 50 or so mails a day if you don’t
  count the commit messages.
Or... use Acquia Search
• Sign up on acquia.com.
• Free 30 day trial subscriptions for anyone.
• You must be running a Drupal 6.x site, with PHP
  5.2.0+ (5.1.4+ possible as well).
• Use Acquia Drupal or install our search module
  package.
• It leaves Drupal core search intact, so you can
  go back anytime.
• Convert your site and start impressing users!
• We will worry about everything else.
How Acquia Search Works
                                                   Search master server


                                      authenticated
 Your webserver                          request
              content to index
                                                                index
                   SSL, HMAC                                 replication
                                             authenticated
                  search request    Acquia
                                   Network   results




                                                   Search slave servers
Proving the platform




• Benchmarking our servers, on the search server
 itself, most searches run in < 200 ms, even
 under high load.
Who Is This For?
• Small and medium size sites - easy access to
 enterprise search for every Drupal site.
 – No hardware, no experience, fast setup, low cost.


• Large sites and Acquia partners - the same
 solution you’d deploy, but faster and easier.
 – Don’t consume your engineering resources.
 – Why load your own servers?
 – We handle the security and availability.
 – Impress your users and clients.
How-to Screencasts
• http://www.jeffnoyes.com/content/how-use-
  acquia-search-apache-solr
• http://www.jeffnoyes.com/content/enabling-
  acquia-search-and-apache-solr


 Here’s a quick look at the admin
 interface:
New modules to
 enhance the
  experience

                 © 2008 Acquia, Inc.
Searching with Views 3
 • Define filters, sorts in Views like normal
 • Solr, not MySQL, gets the query
 • Views is responsible for rendering
    results:
   • you configure the visible fields
   • grid views
   • carousels
   • search results in blocks
 • Faceting works like in current Apache
                                              © 2008 Acquia, Inc.
Javascript interface
  • http://drupal.org/project/solrjs




                                       © 2008 Acquia, Inc.
Javascript interface
  • http://drupal.org/project/solrjs




                                       © 2008 Acquia, Inc.
Autocomplete
 http://drupal.org/project/apachesolr_autocomplete




                                                © 2008 Acquia, Inc.
Stats for administrators
    http://drupal.org/project/apachesolr_stats




                                                 © 2008 Acquia, Inc.
DRUPAL-6--2 Branch




                     © 2008 Acquia, Inc.
DRUPAL-6--2 Branch




• Researching more substantial architectural
  changes to query building.
• Looking at ways to support multi-site and
  better support multi-lingual content.
                                               © 2008 Acquia, Inc.
Learn and Contribute
• Find us at the code sprint (Saturday) if you have
  questions about the code or roadmap.
• Come to the Acquia table any time to learn
  more about Acquia Search.



                                  Thank you!
                       jacob.singh@acquia.com
                     peter.wolanin@acquia.com
                                        © 2009, Acquia, Inc.

More Related Content

Viewers also liked

"Solr Update" at code4lib '13 - Chicago
"Solr Update" at code4lib '13 - Chicago"Solr Update" at code4lib '13 - Chicago
"Solr Update" at code4lib '13 - ChicagoErik Hatcher
 
What's New in Solr 3.x / 4.0
What's New in Solr 3.x / 4.0What's New in Solr 3.x / 4.0
What's New in Solr 3.x / 4.0Erik Hatcher
 
Solr Black Belt Pre-conference
Solr Black Belt Pre-conferenceSolr Black Belt Pre-conference
Solr Black Belt Pre-conferenceErik Hatcher
 
Why I want to Kazan
Why I want to KazanWhy I want to Kazan
Why I want to KazanProvectus
 
Lucene for Solr Developers
Lucene for Solr DevelopersLucene for Solr Developers
Lucene for Solr DevelopersErik Hatcher
 
Solr Powered Libraries
Solr Powered LibrariesSolr Powered Libraries
Solr Powered LibrariesErik Hatcher
 
Lucene's Latest (for Libraries)
Lucene's Latest (for Libraries)Lucene's Latest (for Libraries)
Lucene's Latest (for Libraries)Erik Hatcher
 
Open source applied: Real-world uses
Open source applied: Real-world usesOpen source applied: Real-world uses
Open source applied: Real-world usesRogue Wave Software
 
Call me maybe: Jepsen and flaky networks
Call me maybe: Jepsen and flaky networksCall me maybe: Jepsen and flaky networks
Call me maybe: Jepsen and flaky networksShalin Shekhar Mangar
 
Solr Indexing and Analysis Tricks
Solr Indexing and Analysis TricksSolr Indexing and Analysis Tricks
Solr Indexing and Analysis TricksErik Hatcher
 
Solr 6 Feature Preview
Solr 6 Feature PreviewSolr 6 Feature Preview
Solr 6 Feature PreviewYonik Seeley
 
Faceted Search – the 120 Million Documents Story
Faceted Search – the 120 Million Documents StoryFaceted Search – the 120 Million Documents Story
Faceted Search – the 120 Million Documents StorySourcesense
 
Сергей Моренец: "Gradle. Write once, build everywhere"
Сергей Моренец: "Gradle. Write once, build everywhere"Сергей Моренец: "Gradle. Write once, build everywhere"
Сергей Моренец: "Gradle. Write once, build everywhere"Provectus
 
Multi faceted responsive search, autocomplete, feeds engine & logging
Multi faceted responsive search, autocomplete, feeds engine & loggingMulti faceted responsive search, autocomplete, feeds engine & logging
Multi faceted responsive search, autocomplete, feeds engine & logginglucenerevolution
 
Gimme shelter: Tips on protecting proprietary and open source code
Gimme shelter: Tips on protecting proprietary and open source codeGimme shelter: Tips on protecting proprietary and open source code
Gimme shelter: Tips on protecting proprietary and open source codeRogue Wave Software
 
Meet Solr For The Tirst Again
Meet Solr For The Tirst AgainMeet Solr For The Tirst Again
Meet Solr For The Tirst AgainVarun Thacker
 

Viewers also liked (20)

Hackathon
HackathonHackathon
Hackathon
 
"Solr Update" at code4lib '13 - Chicago
"Solr Update" at code4lib '13 - Chicago"Solr Update" at code4lib '13 - Chicago
"Solr Update" at code4lib '13 - Chicago
 
What's New in Solr 3.x / 4.0
What's New in Solr 3.x / 4.0What's New in Solr 3.x / 4.0
What's New in Solr 3.x / 4.0
 
Solr Black Belt Pre-conference
Solr Black Belt Pre-conferenceSolr Black Belt Pre-conference
Solr Black Belt Pre-conference
 
Why I want to Kazan
Why I want to KazanWhy I want to Kazan
Why I want to Kazan
 
Lucene for Solr Developers
Lucene for Solr DevelopersLucene for Solr Developers
Lucene for Solr Developers
 
Solr Powered Libraries
Solr Powered LibrariesSolr Powered Libraries
Solr Powered Libraries
 
Lucene's Latest (for Libraries)
Lucene's Latest (for Libraries)Lucene's Latest (for Libraries)
Lucene's Latest (for Libraries)
 
Solr Masterclass Bangkok, June 2014
Solr Masterclass Bangkok, June 2014Solr Masterclass Bangkok, June 2014
Solr Masterclass Bangkok, June 2014
 
Open source applied: Real-world uses
Open source applied: Real-world usesOpen source applied: Real-world uses
Open source applied: Real-world uses
 
Call me maybe: Jepsen and flaky networks
Call me maybe: Jepsen and flaky networksCall me maybe: Jepsen and flaky networks
Call me maybe: Jepsen and flaky networks
 
Solr Indexing and Analysis Tricks
Solr Indexing and Analysis TricksSolr Indexing and Analysis Tricks
Solr Indexing and Analysis Tricks
 
Solr 6 Feature Preview
Solr 6 Feature PreviewSolr 6 Feature Preview
Solr 6 Feature Preview
 
Faceted Search – the 120 Million Documents Story
Faceted Search – the 120 Million Documents StoryFaceted Search – the 120 Million Documents Story
Faceted Search – the 120 Million Documents Story
 
Solr 4
Solr 4Solr 4
Solr 4
 
Сергей Моренец: "Gradle. Write once, build everywhere"
Сергей Моренец: "Gradle. Write once, build everywhere"Сергей Моренец: "Gradle. Write once, build everywhere"
Сергей Моренец: "Gradle. Write once, build everywhere"
 
Introduction to Apache Solr
Introduction to Apache SolrIntroduction to Apache Solr
Introduction to Apache Solr
 
Multi faceted responsive search, autocomplete, feeds engine & logging
Multi faceted responsive search, autocomplete, feeds engine & loggingMulti faceted responsive search, autocomplete, feeds engine & logging
Multi faceted responsive search, autocomplete, feeds engine & logging
 
Gimme shelter: Tips on protecting proprietary and open source code
Gimme shelter: Tips on protecting proprietary and open source codeGimme shelter: Tips on protecting proprietary and open source code
Gimme shelter: Tips on protecting proprietary and open source code
 
Meet Solr For The Tirst Again
Meet Solr For The Tirst AgainMeet Solr For The Tirst Again
Meet Solr For The Tirst Again
 

Similar to Apache Solr Changes the Way You Build Sites

Solving the Top 5 Drupal Performance Issues
Solving the Top 5 Drupal Performance Issues Solving the Top 5 Drupal Performance Issues
Solving the Top 5 Drupal Performance Issues Acquia
 
Drupal Site Hosting and Management: Acquia Case Studies from the Frontlines
Drupal Site Hosting and Management: Acquia Case Studies from the FrontlinesDrupal Site Hosting and Management: Acquia Case Studies from the Frontlines
Drupal Site Hosting and Management: Acquia Case Studies from the FrontlinesAcquia
 
Change Management for Oracle Database with SQLcl
Change Management for Oracle Database with SQLcl Change Management for Oracle Database with SQLcl
Change Management for Oracle Database with SQLcl Jeff Smith
 
Exploring pwa for shopware
Exploring pwa for shopwareExploring pwa for shopware
Exploring pwa for shopwareSander Mangel
 
PHP Performance tuning for Drupal 8
PHP Performance tuning for Drupal 8PHP Performance tuning for Drupal 8
PHP Performance tuning for Drupal 8Acquia
 
Scalable Django Architecture
Scalable Django ArchitectureScalable Django Architecture
Scalable Django ArchitectureRami Sayar
 
MySQL Cluster as Transactional NoSQL (KVS)
MySQL Cluster as Transactional NoSQL (KVS)MySQL Cluster as Transactional NoSQL (KVS)
MySQL Cluster as Transactional NoSQL (KVS)Ryusuke Kajiyama
 
A Look at the Performance of SAP UI Technologies - UXP212 at SAP TechEd && d-...
A Look at the Performance of SAP UI Technologies - UXP212 at SAP TechEd && d-...A Look at the Performance of SAP UI Technologies - UXP212 at SAP TechEd && d-...
A Look at the Performance of SAP UI Technologies - UXP212 at SAP TechEd && d-...Sascha Wenninger
 
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 TomorrowAcquia
 
Simpler, faster, cheaper Enterprise Apps using only Spring Boot on GCP
Simpler, faster, cheaper Enterprise Apps using only Spring Boot on GCPSimpler, faster, cheaper Enterprise Apps using only Spring Boot on GCP
Simpler, faster, cheaper Enterprise Apps using only Spring Boot on GCPDaniel Zivkovic
 
Architecture & Workflow of Modern Web Apps
Architecture & Workflow of Modern Web AppsArchitecture & Workflow of Modern Web Apps
Architecture & Workflow of Modern Web AppsRasheed Waraich
 
Rapid prototyping with solr - By Erik Hatcher
Rapid prototyping with solr -  By Erik Hatcher Rapid prototyping with solr -  By Erik Hatcher
Rapid prototyping with solr - By Erik Hatcher lucenerevolution
 
Three Powerful Tools for Improving the Performance of your Drupal Site
Three Powerful Tools for Improving the Performance of your Drupal SiteThree Powerful Tools for Improving the Performance of your Drupal Site
Three Powerful Tools for Improving the Performance of your Drupal SiteAcquia
 
PHP, OAuth, Web Services and YQL
PHP, OAuth, Web Services and YQLPHP, OAuth, Web Services and YQL
PHP, OAuth, Web Services and YQLkulor
 
Demystifying Decoupled Drupal for Developers & Content Authors
Demystifying Decoupled Drupal for Developers & Content AuthorsDemystifying Decoupled Drupal for Developers & Content Authors
Demystifying Decoupled Drupal for Developers & Content AuthorsRachel Wandishin
 
RMOUG MySQL 5.7 New Features
RMOUG MySQL 5.7 New FeaturesRMOUG MySQL 5.7 New Features
RMOUG MySQL 5.7 New FeaturesDave Stokes
 

Similar to Apache Solr Changes the Way You Build Sites (20)

Solving the Top 5 Drupal Performance Issues
Solving the Top 5 Drupal Performance Issues Solving the Top 5 Drupal Performance Issues
Solving the Top 5 Drupal Performance Issues
 
Drupal Site Hosting and Management: Acquia Case Studies from the Frontlines
Drupal Site Hosting and Management: Acquia Case Studies from the FrontlinesDrupal Site Hosting and Management: Acquia Case Studies from the Frontlines
Drupal Site Hosting and Management: Acquia Case Studies from the Frontlines
 
Change Management for Oracle Database with SQLcl
Change Management for Oracle Database with SQLcl Change Management for Oracle Database with SQLcl
Change Management for Oracle Database with SQLcl
 
Exploring pwa for shopware
Exploring pwa for shopwareExploring pwa for shopware
Exploring pwa for shopware
 
PHP Performance tuning for Drupal 8
PHP Performance tuning for Drupal 8PHP Performance tuning for Drupal 8
PHP Performance tuning for Drupal 8
 
Scalable Django Architecture
Scalable Django ArchitectureScalable Django Architecture
Scalable Django Architecture
 
MySQL Cluster as Transactional NoSQL (KVS)
MySQL Cluster as Transactional NoSQL (KVS)MySQL Cluster as Transactional NoSQL (KVS)
MySQL Cluster as Transactional NoSQL (KVS)
 
DeveloperWeek 2014
DeveloperWeek 2014DeveloperWeek 2014
DeveloperWeek 2014
 
A Look at the Performance of SAP UI Technologies - UXP212 at SAP TechEd && d-...
A Look at the Performance of SAP UI Technologies - UXP212 at SAP TechEd && d-...A Look at the Performance of SAP UI Technologies - UXP212 at SAP TechEd && d-...
A Look at the Performance of SAP UI Technologies - UXP212 at SAP TechEd && d-...
 
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
 
Simpler, faster, cheaper Enterprise Apps using only Spring Boot on GCP
Simpler, faster, cheaper Enterprise Apps using only Spring Boot on GCPSimpler, faster, cheaper Enterprise Apps using only Spring Boot on GCP
Simpler, faster, cheaper Enterprise Apps using only Spring Boot on GCP
 
Architecture & Workflow of Modern Web Apps
Architecture & Workflow of Modern Web AppsArchitecture & Workflow of Modern Web Apps
Architecture & Workflow of Modern Web Apps
 
Rapid Prototyping with Solr
Rapid Prototyping with SolrRapid Prototyping with Solr
Rapid Prototyping with Solr
 
Rapid prototyping with solr - By Erik Hatcher
Rapid prototyping with solr -  By Erik Hatcher Rapid prototyping with solr -  By Erik Hatcher
Rapid prototyping with solr - By Erik Hatcher
 
Three Powerful Tools for Improving the Performance of your Drupal Site
Three Powerful Tools for Improving the Performance of your Drupal SiteThree Powerful Tools for Improving the Performance of your Drupal Site
Three Powerful Tools for Improving the Performance of your Drupal Site
 
PHP, OAuth, Web Services and YQL
PHP, OAuth, Web Services and YQLPHP, OAuth, Web Services and YQL
PHP, OAuth, Web Services and YQL
 
Demystifying Decoupled Drupal for Developers & Content Authors
Demystifying Decoupled Drupal for Developers & Content AuthorsDemystifying Decoupled Drupal for Developers & Content Authors
Demystifying Decoupled Drupal for Developers & Content Authors
 
Boost and SEO
Boost and SEOBoost and SEO
Boost and SEO
 
Case Studies
Case StudiesCase Studies
Case Studies
 
RMOUG MySQL 5.7 New Features
RMOUG MySQL 5.7 New FeaturesRMOUG MySQL 5.7 New Features
RMOUG MySQL 5.7 New Features
 

Recently uploaded

Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 
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
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsMiki Katsuragi
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionDilum Bandara
 
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
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfRankYa
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Manik S Magar
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteDianaGray10
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 
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
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 

Recently uploaded (20)

Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 
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
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering Tips
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An Introduction
 
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
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdf
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
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
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 
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
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 

Apache Solr Changes the Way You Build Sites

  • 1. APACHE SOLR CHANGES THE WAY YOU BUILD SITES How to build dynamic navigation for dynamic content Jacob Singh and Peter Wolanin Drupalcon Paris, September 3rd 2009
  • 7. INFORMATION ARCHITECTURE •Isthe science and art of guessing what your users want to see or do on your site and helping them get there •Often done without actually consulting visitors or proper understanding of the target market
  • 9. CONTENT - YOU GOT IT
  • 12. SO? WHAT’S WRONG WITH THAT?
  • 13. (1996) Site Map!
  • 14. WEBSITES GROW. •Sometimes really fast. • Andalways in ways you didn’t expect
  • 15.
  • 16.
  • 17. WHY DOES THIS HAPPEN?
  • 18. VISITORS ARE TOO VARIED TO THINK OF THEM ALL YOUR CONTENT IS TOO VARIED FOR YOUR MENU
  • 19. WHERE ARE BEER HATS?
  • 20. YOUR CONTENT IS TOO VAST AND TAKES TOO MANY CLICKS TO FIND
  • 21. TOOK 7 CLICKS TO FIND DRUPAL
  • 22. YOUR CONTENT IS CONTRIBUTED BY USERS AND UNPREDICTABLE.
  • 23. DRUPAL IS A SOCIAL PUBLISHING PLATFORM
  • 24. YOU USE IT SO USERS WILL ADD CONTENT That’s the point!
  • 25. IF WE HAVE DYNAMIC USER CONTRIBUTED CONTENT
  • 26. IF WE HAVE DYNAMIC USER CONTRIBUTED CONTENT WHY DO WE INSIST ON STATIC ADMIN DEFINED NAVIGATION?
  • 27. WEB 2.0 JARGON TO SAVE THE DAY •Tag Clouds •Content Recommendation •Social Networking •Social Bookmarking
  • 28. HOW SEARCH DIED AND HOW WE BRING IT BACK
  • 29. SEARCH IS NOT A PRIORITY
  • 31. CAN YOU FIND THE SEARCH BOX? HINT: I’VE CIRCLED IT IN ORANGE
  • 32.
  • 33.
  • 34.
  • 35.
  • 36.
  • 37.
  • 38. WHAT DO THE BIG SITES DO?
  • 39.
  • 40.
  • 41.
  • 42.
  • 43.
  • 44. WHY DID SEARCH DIE? •It was too slow •It wasn’t smart enough •Users learned not to trust it
  • 46. GOLDEN RULE: No Dead Ends!
  • 48. FIND OUT WHERE TO LOOK
  • 50. I LEFT MY TIME MACHINE AT HOME
  • 51.
  • 55. BUT I’M THE ADMIN!
  • 56.
  • 57. ALL THE COOL KIDS ARE DOING IT
  • 58.
  • 59.
  • 60.
  • 61.
  • 63. A TAILOR MADE NAVIGATION FOR EVERY USER You want it, right?
  • 64. The Apache Solr Project • Stable and proven. – Used by Netflix, CNET, CitySearch, StubHub!, GameSpot, AOL – Full time maintainers – VERY Active mailing list (about 1k messages per month) • Fast: written in Java. • Uses Lucene: the top open source search library. • Distibuted: scales out in multiple directions.
  • 65. Apache Solr Search Integration • Very active project on drupal.org. • Takes advantage of latest Solr features. • Exposes an API to modify search and display behavior. • Supported by engineers at Acquia. • All Acquia code improvements have been contributed back to the Drupal.org project. • Many of the Drupalcon sponsors and attendees are already involved and using it.
  • 66. Feaure highlights • Taxonomy, user, and language facets. • Node type faceting, weighting, and exclusion. • Node property (e.g. sticky) and date weighting. • Date facets on content creation or change. • OG facets (optional sub-module). • Node access respected (optional sub-module). • More-like-this content recommendations. • Customizable (see drupal.org module browsing features).
  • 67. Integration with other modules/data • Webmail: http://drupal.org/project/webmail_plus • Attachments: http://drupal.org/project/apachesolr_attachments • Views: http://drupal.org/project/apachesolr_views • Services: http://drupal.org/project/solr_service • Nodequeue: http://drupal.org/project/nodequeue • RDF: http://drupal.org/project/apachesolr_rdf • Project: http://drupal.org/project/project • Ubercart: http://drupal.org/project/apachesolr_ubercart
  • 68. You Can Run Yourself. Easy! 1. Get a dedicated server or a VPS and get Solr loaded on it. 2. Find a Java server administrator or get some books. 3. Get the Drupal module, install the PHP library, and configure it. 4. Replace the stock Solr configuration files with Drupal ones. 5. Learn about Solr replication and configuring it. 6. Set up log management, alerting, monitoring, etc. 7. Implement regular upgrades or patches to Solr which will requiring getting your Java development set up and building from source sometimes. 8. Keep up to date with the Drupal module. 9. Implement a security regime to protect data transfer (i.e. so spammers can’t add Viagra ads to your search results) 10. Harden your servers, setup firewalls and IP-based, password-based, or other security. 11. Figure out how handle updates and versioning of Solr and your schema. 12. *Recommended: Get on the solr-user and solr-developer mailing lists to get updates and alerts on the Apache Solr project. Don’t worry, it’s only a 50 or so mails a day if you don’t count the commit messages.
  • 69. Or... use Acquia Search • Sign up on acquia.com. • Free 30 day trial subscriptions for anyone. • You must be running a Drupal 6.x site, with PHP 5.2.0+ (5.1.4+ possible as well). • Use Acquia Drupal or install our search module package. • It leaves Drupal core search intact, so you can go back anytime. • Convert your site and start impressing users! • We will worry about everything else.
  • 70. How Acquia Search Works Search master server authenticated Your webserver request content to index index SSL, HMAC replication authenticated search request Acquia Network results Search slave servers
  • 71. Proving the platform • Benchmarking our servers, on the search server itself, most searches run in < 200 ms, even under high load.
  • 72. Who Is This For? • Small and medium size sites - easy access to enterprise search for every Drupal site. – No hardware, no experience, fast setup, low cost. • Large sites and Acquia partners - the same solution you’d deploy, but faster and easier. – Don’t consume your engineering resources. – Why load your own servers? – We handle the security and availability. – Impress your users and clients.
  • 73. How-to Screencasts • http://www.jeffnoyes.com/content/how-use- acquia-search-apache-solr • http://www.jeffnoyes.com/content/enabling- acquia-search-and-apache-solr Here’s a quick look at the admin interface:
  • 74.
  • 75.
  • 76.
  • 77. New modules to enhance the experience © 2008 Acquia, Inc.
  • 78. Searching with Views 3 • Define filters, sorts in Views like normal • Solr, not MySQL, gets the query • Views is responsible for rendering results: • you configure the visible fields • grid views • carousels • search results in blocks • Faceting works like in current Apache © 2008 Acquia, Inc.
  • 79. Javascript interface • http://drupal.org/project/solrjs © 2008 Acquia, Inc.
  • 80. Javascript interface • http://drupal.org/project/solrjs © 2008 Acquia, Inc.
  • 82. Stats for administrators http://drupal.org/project/apachesolr_stats © 2008 Acquia, Inc.
  • 83. DRUPAL-6--2 Branch © 2008 Acquia, Inc.
  • 84. DRUPAL-6--2 Branch • Researching more substantial architectural changes to query building. • Looking at ways to support multi-site and better support multi-lingual content. © 2008 Acquia, Inc.
  • 85. Learn and Contribute • Find us at the code sprint (Saturday) if you have questions about the code or roadmap. • Come to the Acquia table any time to learn more about Acquia Search. Thank you! jacob.singh@acquia.com peter.wolanin@acquia.com © 2009, Acquia, Inc.

Editor's Notes

  1. I&amp;#x2019;m going to talk about ApacheSolr, a revolutionary search technology
  2. Which provides relevant and fast search results
  3. Which provides relevant and fast search results
  4. Which provides relevant and fast search results
  5. that can be filtered
  6. that can be filtered
  7. that can be filtered
  8. and sorted
  9. and sorted
  10. and sorted
  11. and provides brilliant content recommendations Changing the way you think about
  12. and provides brilliant content recommendations Changing the way you think about
  13. and provides brilliant content recommendations Changing the way you think about
  14. Classic Information Architecture and how you structure your menus and site navigation
  15. I&amp;#x2019;ve built a few websites Usually, we start with something called IA What is IA?
  16. * Start with Who your visitors are and what they want to do
  17. * take a look at the inventory of content the site provides
  18. group that content into categories which make sense. Often called cart sorting, mapping, etc
  19. Name the groups, and they become menus and highlights (Navigation)
  20. What&amp;#x2019;s wrong with these conventions? Our forefathers have used them since time immemorial (1996)
  21. The web is a lot more complicated now. Content comes from a lot more sources (other sites and users) And websites do more things Also...
  22. It isn&amp;#x2019;t 1996 anymore In short time your Content may start looking like... {flip}
  23. It isn&amp;#x2019;t 1996 anymore In short time your Content may start looking like... {flip}
  24. And your menus become more like {flip}
  25. And now your site is hard to organize and impossible to use.
  26. You made up archetypes, but your real visitor base is more varied and unique than that.
  27. Did you think of the user who wanted handmade paper? Which category do you think handmade paper is in?
  28. It literally took me 7 clicks to find Drupal on Dmoz No one except for someone desperately trying to prove a point during a presentation will spend this long
  29. This is the most important And the main reason I&amp;#x2019;m speaking to you today.
  30. To deal with this paradigm shift, this generation of the internet has a few new devices / patterns to address the bloat of content. They all seek to handle the issue of unpredictable content and unknown users.
  31. Search is Web 0.5 Remember, Yahoo made millions with lists of websites to visit Google made billions letting people find the websites they wanted
  32. Most people building websites just think of search as a checkbox on their requirements list
  33. I&amp;#x2019;ve taken a totally biased sampling from Dries&amp;#x2019;s blog of large and newish Drupal sites
  34. I took a sample of some of the top sites on the web.
  35. Search was largely abandoned by site owners because the quality of results was not good enough. It was too slow. Users learned not to trust it, and in turn, site builders learned not to prioritize it.
  36. If the same word doesn&amp;#x2019;t mean the same thing, your intentions, delivery and content are worthless. When a user wants something from your website, they are looking for a keyword. You, as a site builder tried to think of them, and make links
  37. Users leave only when the content they want doesn&amp;#x2019;t exist. Never before
  38. In this case, the user choose to search for Drupal Work, not Drupal Jobs... The disadvantage of most search engines is that this doesn&amp;#x2019;t work. The user is just presented with a deluge of information they are not looking for and no obvious way to refine the set.
  39. In this case, the user choose to search for Drupal Work, not Drupal Jobs... The disadvantage of most search engines is that this doesn&amp;#x2019;t work. The user is just presented with a deluge of information they are not looking for and no obvious way to refine the set.
  40. The advantage of a good search engine is that the user can use whatever vocabulary they want and will find what they are looking for. What you see here is called &amp;#x201C;Faceted Search.&amp;#x201D; Because Solr is aware not just of the text of your nodes, but all of their metadata, it can provide a much richer way to filter down to just what you are looking for.
  41. Newer is better in this case. No one wants taken jobs.
  42. Solr allows you to sort
  43. Just as vocabulary is important, spelling is to.
  44. Solr Spellcheck is not from dictionary uses actual content in your index If you have a funny name for your product
  45. Solr Spellcheck is not from dictionary uses actual content in your index If you have a funny name for your product
  46. Just the tip of the iceberg in terms of customization
  47. Buytaert.net
  48. reduce width of browser + increase font
  49. Let&amp;#x2019;s stop trying to think for our users Let&amp;#x2019;s give them tools that allow them to think they way they want AND find what they are looking for. Now, I&amp;#x2019;m going to hand over the floor to Peter Wolanin who has been the driving force behind recent development of the Apache Solr module. He and I are Acquia&amp;#x2019;s experts on the Solr server. He&amp;#x2019;ll be speaking to you about the Solr project in a little more detail, the communities involved and show you some of the really amazing features we&amp;#x2019;ve got planned.
  50. All the Drupal module code is on drupal.org and available to everyone. Solr is an Apache Foundation project, avaialble free under the Apache 2.0 license.
  51. Yes, it&amp;#x2019;s doable, but using Acquia hosted service allows: 1. Small to medium sites to get rolling in 15 minutes with no special knowhow or hardware 2. Large sites to not worry about scaling or securing yet another service and the opportunity cost that comes with it.
  52. The Acquia Search module configures the Apache Solr Drupal module and handles authentication.
  53. The Acquia Search module configures the Apache Solr Drupal module and handles authentication.
  54. The Acquia Search module configures the Apache Solr Drupal module and handles authentication.
  55. The Acquia Search module configures the Apache Solr Drupal module and handles authentication.
  56. The Acquia Search module configures the Apache Solr Drupal module and handles authentication.
  57. The Acquia Search module configures the Apache Solr Drupal module and handles authentication.
  58. The Acquia Search module configures the Apache Solr Drupal module and handles authentication.
  59. If you have an Acquia Subscription, you will have search. The Beta which starts today is totally free. Also, ApacheSolr does not stop core search, which means you can fallback to standard drupal search any time. No Risk! Setup takes about 5-10 minutes. What are you waiting for!? Put up pictures of us up. Bring your laptop. Right Now!
  60. Learn more about the admin interface the boosting features