This document provides an overview of search functionality in Drupal 8. It discusses that Drupal 7 had two main search solutions that could not be combined, while Drupal 8 search aims to integrate these solutions and provide a common, flexible search system out of the box. It describes the basic architecture including servers, indexes, backends, trackers, datasources, and processors. It also outlines changes for Drupal 8 like supporting multiple entity types in one index and multilingual/multisite search.
3. What
• Apache Solr
• Search API
• Facet Api
• Lucene
• Solr
• Elastic Search
• Sh*t ton of duplicate modules
• Crying babies
• …
4. Drupal 7
• Drupal 7 had two solutions. It was
either one or the other.
• Both solutions had compelling use-
cases.
• multisite searching
• views integration
• federated search, flexibility
• And they couldn't get along for a
common solution yet :(
• Common Schema and Connection
Classes
6. Drupal 8
• Drupal 8 Search needed some
love and no more "my solution is
better"
• Drupal 8 Search did not need to
choose between both.
Maintainers could work together.
• Drupal 8 Search is going to do
exactly that.
• AOOTB®
(Awesome out of the
box)
• www.acquia.com/blog/battleplan-
search-solr-drupal-8
8. How
• Drupal Dev Days, MD-
Systems Sprint, Intracto
Sprint, drupal.be Sprint Day
and drupalfund.us
• Combining use-cases that
need to work for both
• Compromises need to be
made, but we are working
towards the same goal.
http://drupal.be/
10. Changes
• Search API D8 will support multiple entity types
(nodes, users, feeds) in 1 index.
• Search API D8 will support this also in views.
• Search API D8 will support multilingual out of the box.
• Search API Solr D8 will support multisite searching.
Think of Drupal 6, Drupal 7, Drupal 8 in 1 search page.
• Search API Solr D8 will use an external library for the
connection.
11. Changes
• Search API D8 will come a default index and server.
• Search API D8 will come with sensible default fields.
• Search API D8 will hopefully get enough UX reviews. We have
some very ambitious goals.
• Search API D8 will stay flexible
• Search API D8 ElasticSearch got its own GSOC Student!
Thanks Prateek and Google.
• Facet API? We’re still discussing that, but we’d love your input.
12. Basic Architecture
Server Index Views
Facet API
…
• Technical implementation
• Uses database/Solr/…
• Search how?
• Generic information
• Datasources (Types)
• Fields
• Processing
• Search what?
13. Server
• Configuration Entity
• Uses plugin “backend class" for operations (Solr for
example)
• Stores Specific server such as the connection
details
14. Backend Class
• Indexing, Deleting, Searching
• Allows reactions to changes
• Connects to Storage (Solr)
16. Tracker
• Pluggable way of tracking what needs to be
indexed
• Tracking new/changed/deleted items
17. Datasource
• Index plugin providing the item types
• Loading, viewing, metadata for types
• Type-specific configuration
18. Processors
• Plugins attached to index
• Alter indexed items and search queries
• (Fused with D7 „data alterations“)
19. Views
• Rendered View Mode
• Fields
• Search Result
• Supports multiple Datasources out of the box
• External datasource allows for mixing and
matching.
20. Test Driven Development
• https://travis-ci.org/nickveenhof/search-api-sandbox
• Every commit
• PHP 5.4 & 5.5
• 106 PHP Unit checks
• 619 Drupal Tests
• IRC & Mail Notifier
21. Contribute
• drupalsear.ch
• Weekly meeting - 8PM Europe/Brussels. Link on
drupalsear.ch.
• https://drupal.org/sandbox/daeron/2091893
• https://drupal.org/project/search_api
• Next Sprint 24th May, 13-15 June @ Intracto
22. Demo
• Client asks: Make the Drupal Planet Searchable
and include my own node content and users also.
• You Say: OK!
• Note: We had to hack aggregator module as the
aggregator items do not support view modes yet.
Please review and RTBC: https://drupal.org/node/
2256919