Elasticsearch - Search API provides a framework to set up custom Elasticsearch based search pages.

It depends on search_api to manage your indexed data and elasticsearch_connector to set up a connection with your Elasticsearch backend.

elasticsearch search api module logo

Features:

The included images are screen captures of the custom search pages that are implemented at VDAB using this module.

Ajax powered faceted search

On the VDAB Intranet we implemented several faceted searches. This makes it possible for users to filter their search results based on for example page types, etc. These facets are each linked to a taxonomy list. We also created an option to sort pages based on their publication date.
Search results with in the sidebar several filtering options
More info: https://www.elastic.co/guide/en/app-search/current/facets.html

Pagination

The pagination allows for the user to flip through all search results, the user always has the option to go one page forward or backward, or to go to the last or first page.
 1 2 3 ... 44 next
 previous 1 ... 3 4 5 ... 209 next

Synonyms

This option hasn't been implemented yet on our sites.

Autocomplete/Search suggestion

The search suggestion functionality will provide suggestions for the user to search based on the search string the user has entered so far. The suggestions will prioritize search strings where your terms are still stand-alone words, with lower priority on suggestions where your input is part of the complete term (for example “info” will yield “info province” as separate words, before “information”, using your search term to complete a new search term)
Under a search field with the word info, a series of (page-title) suggestions starting with info
More info: https://www.elastic.co/guide/en/elasticsearch/reference/current/search-s...

Did you mean

If spelling errors are detected or if the search engine algorithm predicts that other words synonymous with your search terms will yield better results, the “Did you mean” functionality will suggest a different search string.
 Did you mean Brussel?

Installation

Add both this module and the block ui library to your project's composer.json, which is a dependency of this module:

```
"repositories": [
    {
      "type": "package",
      "package": {
        "name": "library-blockui/blockui",
        "version": "v2.70",
        "type": "drupal-library",
        "dist": {
          "url": "https://github.com/malsup/blockui/archive/2.70.zip",
          "type": "zip"
        }
      }
    }
  ]
```

Install it, as usual, with: `composer require drupal/elasticsearch_search_api`

Supporting organizations: 
Cegeka developed the basis for this module. It is derived from a elasticsearch solution for one of Cegeka's clients.
This module is used for the elasticsearch implementation of all VDAB Drupal sites. The VDAB Drupal dev team have contributed to the further development of this module.
During a dedicated sprint (28-30 nov ‘22) VDAB, Cegeka, Calibrate, Anvil and Dropsolid contributed to this module.

Project information

Releases