Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

State of Search, Solr and Facets in Drupal 8 - Drupalcamp Belgium 2015

2,404 views

Published on

Session:
http://leuven2015.drupalcamp.be/sessions/state-search-solr-and-facets-drupal-8

Presenters:
Nick Veenhof & Joris Vercammen

Description:
In this session I'll give you an overview what changed so far in Drupal 8 in regards to the Search eco-system. We will talk about Search API, Apache Solr, Facet API and Elastic Search.

Over the course of the last 3 years I've been involved in how Search in Drupal 8 should take form and what needed to change to merge the Apache Solr module with the Search API Solr module. In this presentation I hope to give you some guidance what is still pending and what already was done. I will also try to explain what effort it takes to push and move such projects.

Depending on the audience we can go really in-depth or stay general. Please let me know in advance what you expect from this session so I can tailor it to your needs!

Published in: Software
  • Be the first to comment

State of Search, Solr and Facets in Drupal 8 - Drupalcamp Belgium 2015

  1. 1. State of Search in Drupal 8 Nick Veenhof & Joris Vercammen
  2. 2. Nick Veenhof Ghent Barcelona Boston Lisbon +8 Years in Drupal Search++ 4 years at Acquia Principal Software Engineer @Nick_vh
  3. 3. Joris Vercammen Mechelen +7 years PHP 61 core commits +3 years Drupal Facet Api Tech Lead Freelancer @borisson
  4. 4. Overview • Created 2010 (for Drupal 7) • Based on suggestions for Core Search • Generic and flexible search tools • Different data • Different search engines • Different types of user interfaces
  5. 5. The Big Merge • 3 years in the making • Crowdfunding campaign • Drupal Dev Days & Drupalcon sprints • Dedicated Sprint • Google Summer of Code • Lots and lots of tests • Apache Solr for Drupal 7 stays • Apache Solr for Drupal 6 is dead
  6. 6. The Drupal.org influence • Issue queues in Drupal 8 are powered with Search API Drupal 7 using the MySQL backend. • Lots of optimizations happened due to this adoption • MySQL Backend more stable
  7. 7. The Community influence • drunkenmonkey • Thomas Seidl • mollux • Matthias Michaux • berdir • Sascha Grossenbacher • amateescu • Andrei Mateescu • ekes • Ekes • alarcombe • Andrew Larcombe • aspilicious • Bram Goffings • freblasty • Frédéric Hennequin • And Many many more! …
  8. 8. Thank you all!
  9. 9. Basic Architecture • Search index • Generic information • Search what? • Search server • Actual storage/retrieval • Can use database, Solr, etc. • Search how? • Views / Search API Pages • Search Display?
  10. 10. Index items immediately • Pro • No stale data • Security concerns • User experience • Contra • Performance. Batch updating is messy. • Not using tracking table. • Takes longer before result is searchable. • Inconsistent data with Solr Replication vs Solrcloud.
  11. 11. https://www.youtube.com/watch?v=dQhmMaAYRkc Basic Usage of Search API
  12. 12. Solr • Search API Solr with Solr 5 • Works natively with Search API. • Tip: Use index Rendered Item with a view mode
  13. 13. Basic Usage of Search API Solr https://www.youtube.com/watch?v=nRM_RWHpqHw
  14. 14. What still needs to happen? • Simplified UI • More Views-like UI for “Fields” • Wizard for easy search creation (Think Views) • Indexing performance • Caching • Operators • Solr • Multi-site searching proof of concept across Drupal 7 and Drupal 8 (Apachesolr + Search API)
  15. 15. What’s more? • Search API • Alpha 9 Release • Facet API • Working Development version • Search API Page • Alpha Release • Search API Solr • Working Development Release • Elastic Search • Working Development version
  16. 16. Facet api Joris Vercammen
  17. 17. Overview
  18. 18. Overview • Architecture changes • Custom processor • Context system • Demo • Todo • Community
  19. 19. Overview • Architecture changes • Custom processor • Context system • Demo • Todo • Community
  20. 20. Architecture changes • d7: Facets (hook_facetapi_facet_info) • d8: Facet (entity) @ConfigEntityType(
 id = "facetapi_facet",
 label = @Translation(“Facet”)
 );
  21. 21. Architecture changes • d7: Searchers (hook_facetapi_searcher_info) • d8: FacetSource (Plugin)
  22. 22. Architecture changes • d7: Realms (hook_facetapi_realm_info) • d8: Gone
  23. 23. Architecture changes • d7: Facet adapter (hook_facetapi_adapters) • d8: Facet manager service
  24. 24. Architecture changes • d7: Query types (hook_facetapi_query_types) • d8: Query types plugins
  25. 25. Architecture changes • d7: widget (hook_facetapi_widgets) • d8: Widget plugin
  26. 26. Architecture changes • d7: Filters (hook_facetapi_filters) • d8: Processors (plugin)
  27. 27. Architecture changes • d7: Sort widget (hook_facetapi_sort_info) • d8: Processors (plugin)
  28. 28. Architecture changes • d7: url processor (hook_facetapi_url_processors) • d8: Processors (plugin)
  29. 29. Overview • Architecture changes • Custom processor • Context system • Demo • Todo • Community
  30. 30. Custom processors • “FacetApiProcessor” • Implement a processor interface • Implement the required method • Optionally provide a form and a schema definition
  31. 31. Custom processors
  32. 32. • https://github.com/borisson/facetapi-processor- example
  33. 33. Overview • Architecture changes • Custom processor • Context system • Demo • Todo • Community
  34. 34. Context • Core context system
  35. 35. Overview • Architecture changes • Custom processor • Context system • Demo • Todo • Community
  36. 36. Demo - Create Facet https://www.youtube.com/watch?v=UlA6KkH-Kto
  37. 37. Demo - Place block https://www.youtube.com/watch?v=6L5ucTCR94Y
  38. 38. Demo https://www.youtube.com/watch?v=0AY3GHSqslk
  39. 39. Overview • Architecture changes • Custom processor • Context system • Demo • Todo • Community
  40. 40. Todo • Finish Search API integration • Integration with core • Porting all the processors • Polish UI • Integration & Unit Tests
  41. 41. Overview • Architecture changes • Custom processor • Context system • Demo • Todo • Community
  42. 42. Community • #drupal-search-api • Weekly hangouts (Monday @ 20:00) • https://www.drupal.org/node/2580917 • Novice issues
  43. 43. Thank you jeroent frederico swentel mollux mr.baileys borisson_ Novitsh mikeker Wim Leers netsensei StryKaizer jurcello nick_vh marthinal
  44. 44. Thank you AlkaKumari amateescu Andrew Larcombe arla Artyom Miroshnik berdir borisson_ Bram Goffings ChristianAdamski daspeter dmitrii dmulindwa dragos.dumitrescu drunkenmonkey ekes el22or Frédéric Hennequin Frederico Taramaschi Jasper Lammens JeroenT Joris Vercammen joshi.rohit100 jsacksick jurcello Kevin Van Ransbeeck lhangea LKS90 LukyLuke_ch m1r1k marcvangend Martin Micuch Mattias Michaux mkalkbrenner mollux nickvh p-neyens Peter Philipp Pieter Frenssen pjonckiere pravin.ajaaz prics rashid_786 rpayanm sdstyles swentel tstoeckler Y.sa

×