Slide 1

Slide 1 text

1 axelerant.com Using & Extending Search API With Plugins Mohit Aghera (mohit_aghera)

Slide 2

Slide 2 text

2 axelerant.com Mohit Aghera Drupal developer @Axelerant Drupal.org: mohit_aghera Twitter: @mohit_rocks

Slide 3

Slide 3 text

3 axelerant.com Content is the reason Search began in first place - @leeodden

Slide 4

Slide 4 text

4 axelerant.com Search API Ecosystem ● Search API ● Solr Search ● Database Search ● Facets API ● Search Autocomplete ● Search API Ranges

Slide 5

Slide 5 text

5 axelerant.com Search API Architecture Holds storage mechanism What to search and how to Search API Server Central configuration to hold field and related index data Backend Independant Search API Index Views, Facets Backend independant Consumers Tells what to index and How to index Uses to render search results

Slide 6

Slide 6 text

6 axelerant.com Search API Backend ● Specify type of server ● Specifies how data will be indexed and used ● Solr servers, Mongo DB servers, Xapian servers

Slide 7

Slide 7 text

7 axelerant.com Other Important aspects ● Indexes ● Field ● Property ● Datatype ● Processor

Slide 8

Slide 8 text

8 axelerant.com Search API Indexes Data Source ● Types of items ● Nodes, users etc. Fields Processors Indexes ● Properties to be searchable ● Full text, filtering, sorting ● Modify indexing and searching Process

Slide 9

Slide 9 text

9 axelerant.com Demo

Slide 10

Slide 10 text

10 axelerant.com Facets ● Dynamically filtering results ● Provides widgets and types ● Range widgets ● Checkbox widgets ● And many more..

Slide 11

Slide 11 text

11 axelerant.com Demo

Slide 12

Slide 12 text

12 axelerant.com Facet API and widgets ● Use cases like where we need to provide custom ranges ● Provide text field to filter results

Slide 13

Slide 13 text

13 axelerant.com Building custom Facet widgets ● Extends “WidgetPluginBase” ● Override “build()” method ● Take care of “getQueryType()”

Slide 14

Slide 14 text

14 axelerant.com Code !!!

Slide 15

Slide 15 text

15 axelerant.com Demo

Slide 16

Slide 16 text

16 axelerant.com DIY https://github.com/mohit-rocks/drupal8-um ami-search

Slide 17

Slide 17 text

17 axelerant.com Thank you!!