Search API Decoupled module provides a search display plugin for Search API as an alternative to views for displaying the search results. Search API Endpoint entities are used to define the search endpoints that can be consumed with clients.

This module allows you to build decoupled search experiences. You can create unlimited search API endpoint configurations, each providing a separate URL to get the results in JSON format. In case of semi-decoupled solutions, each endpoint also provides Drupal blocks if a UI submodule is enabled. There are two types of blocks: one for search results display, another search input block to redirect to a page with search results.

Searching endpoints support autocomplete and facets.

With the help of the UI submodule and Layout discovery, it is possible to construct the display of the search results block.

Try "Search API Decoupled"

Screenshots:

Demo Screenshot 1

Main features/ functionalities:

  • Reliable Performance: The search function operates seamlessly even during surges in visitor traffic, remaining reliable and efficient regardless of the website's level of activity.
  • Search API Endpoint Entities: Customize and adapt endpoints to meet different search requirements, ensuring flexibility to tailor search functionality for your website or application.
  • Faceted Search: Supports facets, enabling users to filter and refine search results based on various criteria, such as categories, tags, or other metadata.
  • UI Submodule: Includes a UI submodule for designing and customising the appearance and behaviour of search blocks, accessible to a broader range of site builders and content managers.
  • Perfomance: Allows to control whether to load result field values from original objects (entities) or directly from the server (improves the speed of response drastically), see Endpoint edit page for configuration options. Optionally (enabled by default but could be disabled) it is possible to include the url of the original object (in case that datasource is Drupal entity).

Recommended modules:

Installation:

This module requires two js libraries to work properly and you can install them with two different methods.

With composer
If you have composer-merge-plugin installed, please be sure adding following snippet into your composer.json to ensure they get automatically installed:

"extra": {
    "merge-plugin": {
      "include": [
        "[web-root]/modules/contrib/search_api_decoupled/composer.libraries.json"
      ]
    },
}

Manually
In case you have no composer-merge-plugin or you just prefer installing manually please download and store them at libraries/search-api-decoupled/:

https://www.npmjs.com/package/@search-api-decoupled/ui -> libraries/search-api-decoupled/ui
https://www.npmjs.com/package/@search-api-decoupled/client -> libraries/search-api-decoupled/client

Hint: you can download a tar file of each library with following links:

https://registry.npmjs.org/@search-api-decoupled/client/-/client-2.4.3.tgz
https://registry.npmjs.org/@search-api-decoupled/ui/-/ui-2.0.0.tgz

Just ensure downloading required version of your curent search_api_decoupled version checking composer.libraries.json file.

Check README.md for advanced details.

Related modules/ compatible modules:

Supporting organization

1xINTERNET logo
1xINTERNET is a full-service digital agency focusing on robust and innovative digital solutions based on Drupal. As a Gold Certified Drupal Partner and active community contributor, 1xINTERNET supports clients throughout their digital transformation journey.

Try "Search API Decoupled"

Supporting organizations: 
Sponsor development

Project information

Releases