Search in Drupal 8
Nick Veenhof
@Nick_vh
What?
What
• Apache Solr
• Search API
• Facet Api
• Lucene
• Solr
• Elastic Search
• Sh*t ton of duplicate modules
• Crying babi...
Drupal 7
• Drupal 7 had two solutions. It was
either one or the other.
• Both solutions had compelling use-
cases.
• multi...
Why?
Drupal 8
• Drupal 8 Search needed some
love and no more "my solution is
better"
• Drupal 8 Search did not need to
choose b...
How?
How
• Drupal Dev Days, MD-
Systems Sprint, Intracto
Sprint, drupal.be Sprint Day
and drupalfund.us
• Combining use-cases t...
Changes?
Changes
• Search API D8 will support multiple entity types
(nodes, users, feeds) in 1 index.
• Search API D8 will support ...
Changes
• Search API D8 will come a default index and server.
• Search API D8 will come with sensible default fields.
• Sea...
Basic Architecture
Server Index Views
Facet API
…
• Technical implementation
• Uses database/Solr/…
• Search how?
• Generi...
Server
• Configuration Entity
• Uses plugin “backend class" for operations (Solr for
example)
• Stores Specific server such ...
Backend Class
• Indexing, Deleting, Searching
• Allows reactions to changes
• Connects to Storage (Solr)
Index
• Configuration entity
• Datasources. See the plural form?
• Has a tracker. Pluggable! Priority Queues anyone?
Tracker
• Pluggable way of tracking what needs to be
indexed
• Tracking new/changed/deleted items
Datasource
• Index plugin providing the item types
• Loading, viewing, metadata for types
• Type-specific configuration
Processors
• Plugins attached to index
• Alter indexed items and search queries
• (Fused with D7 „data alterations“)
Views
• Rendered View Mode
• Fields
• Search Result
• Supports multiple Datasources out of the box
• External datasource a...
Test Driven Development
• https://travis-ci.org/nickveenhof/search-api-sandbox
• Every commit
• PHP 5.4 & 5.5
• 106 PHP Un...
Contribute
• drupalsear.ch
• Weekly meeting - 8PM Europe/Brussels. Link on
drupalsear.ch.
• https://drupal.org/sandbox/dae...
Demo
• Client asks: Make the Drupal Planet Searchable
and include my own node content and users also.
• You Say: OK!
• Not...
Demo!
Upcoming SlideShare
Loading in …5
×

Search api d8

2,012 views

Published on

Search in Drupal 8 with Search API

Published in: Technology, Business
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
2,012
On SlideShare
0
From Embeds
0
Number of Embeds
18
Actions
Shares
0
Downloads
4
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Search api d8

  1. 1. Search in Drupal 8 Nick Veenhof @Nick_vh
  2. 2. What?
  3. 3. What • Apache Solr • Search API • Facet Api • Lucene • Solr • Elastic Search • Sh*t ton of duplicate modules • Crying babies • …
  4. 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
  5. 5. Why?
  6. 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
  7. 7. How?
  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/
  9. 9. Changes?
  10. 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. 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. 12. Basic Architecture Server Index Views Facet API … • Technical implementation • Uses database/Solr/… • Search how? • Generic information • Datasources (Types) • Fields • Processing • Search what?
  13. 13. Server • Configuration Entity • Uses plugin “backend class" for operations (Solr for example) • Stores Specific server such as the connection details
  14. 14. Backend Class • Indexing, Deleting, Searching • Allows reactions to changes • Connects to Storage (Solr)
  15. 15. Index • Configuration entity • Datasources. See the plural form? • Has a tracker. Pluggable! Priority Queues anyone?
  16. 16. Tracker • Pluggable way of tracking what needs to be indexed • Tracking new/changed/deleted items
  17. 17. Datasource • Index plugin providing the item types • Loading, viewing, metadata for types • Type-specific configuration
  18. 18. Processors • Plugins attached to index • Alter indexed items and search queries • (Fused with D7 „data alterations“)
  19. 19. Views • Rendered View Mode • Fields • Search Result • Supports multiple Datasources out of the box • External datasource allows for mixing and matching.
  20. 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. 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. 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
  23. 23. Demo!

×