silverstripe / silverstripe-discoverer-elastic-enterprise
A plugin module for silverstripe/silverstripe-discoverer that provides integration for Elastic Enterprise and App Search
Installs: 670
Dependents: 2
Suggesters: 0
Security: 0
Stars: 0
Watchers: 7
Forks: 0
Open Issues: 0
Type:silverstripe-vendormodule
Requires
- php: ^8.1
- elastic/enterprise-search: ^8.10
- guzzlehttp/guzzle: ^7.5
- silverstripe/framework: ^5
- silverstripe/silverstripe-discoverer: ^2
Requires (Dev)
- phpunit/phpunit: ^9.6.19
- slevomat/coding-standard: ^8.8
README
Warning
Elastic Enterprise Search is now reaching End of Life. Elastic has announced that it will not be supported beyond
version 8, and that maintenance support will be halted 21 months after the release of version 9 (the date of which
is still TBC, but current thinking is early/mid 2025).
https://www.elastic.co/support/eol
Keep in mind, the core Discoverer module was designed to be service agnostic - so, once you pick a new search provider, you just need to create a plugin module for Discoverer (if there isn't one already). Your application's search implementation shouldn't actually have to change.
Elasticsearch (which is the core technology that Enterprise Search was built on) will still be supported into the future, so that is definitely one option that you could look in to.
Purpose
The purpose of this module is to provide you with the ability to perform search queries to Elastic Enterprise Search (App Search) engines through Silverstripe controllers.
Note: App Search is one of the products included in Elastic Enterprise Search, the two names are currently used interchangably in this module. This module does not currently provide support for Workplace Search (which is the other product that is included in Enterprise Search).
Installation
composer require silverstripe/silverstripe-discoverer-elastic-enterprise
Specify environment variables
The following environment variables are required for this module to function:
ENTERPRISE_SEARCH_ENDPOINT="https://abc123.app-search.ap-southeast-2.aws.found.io"
ENTERPRISE_SEARCH_ENGINE_PREFIX="engine-name-excluding-variant"
ENTERPRISE_SEARCH_API_SEARCH_KEY="search-abc123"
Usage
Please see the documentation provided in (Discoverer)[https://github.com/silverstripeltd/silverstripe-discoverer].
As mentioned above, this module serves as an "adaptor provider" for Discoverer. Besides the installation steps and environment variables above, you shouldn't really be interacting with this module in your code.
Feature support
Spelling suggestions
Spelling suggestions are supported using App Search's Elasticsearch Search API (that's a lot of search) which is available on >=8.5 of Elasticsearch. To use this API you must use a private enterprise search key in the ENTERPRISE_SEARCH_API_SEARCH_KEY
environment variable or configure the Elastic client to use a different authentication method which has access to this endpoint.