Download the PHP package toastnz/opensearch without Composer
On this page you can find all versions of the php package toastnz/opensearch. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download toastnz/opensearch
More information about toastnz/opensearch
Files in toastnz/opensearch
Package opensearch
Short Description A simple OpenSearch wrapper for SilverStripe, built on top of the official OpenSearch PHP client.
License BSD-3-Clause
Informations about the package opensearch
OpenSearch for SilverStripe
A wrapper around the OpenSearch PHP client.
Requirements
See the root composer.json.
Installation
Helper Configuration
Configure the helper through Injector properties:
Supported helper properties:
client_hostclient_usernameclient_passwordclient_verifyindex_classdefault_search_indexrecord_operation_fail_silently
record_operation_fail_silently defaults to true. It only affects automatic record-driven indexing through Toast\OpenSearch\Extensions\DataObjectExtension, where insert, update, delete, publish, and unpublish operations fail quietly if the index is missing, not configured, or unreachable. It does not apply to direct index operations such as OpenSearchManagerTask, OpenSearchReindexTask, initIndex(), clearIndex(), or deleteIndex().
Defining an Index
Create a subclass of Toast\OpenSearch\Search\OpenSearchIndex and override protected properties before calling parent::__construct().
Important: the base constructor only accepts an optional index name. It does not accept named arguments such as fields, searchFields, or filters.
Querying
The second argument can be:
- an
OpenSearchIndexinstance - an index-definition class name
- a literal OpenSearch index name
nullfor the configured default
SiteConfig Search Tuning
The bundled SiteConfigExtension adds four CMS tabs under Root.OpenSearch:
Weightsfor per-field search weightsFineTunefor search-time query behaviourSynonymsfor runtime query expansion rulesMorefor running a search and reviewing per-result OpenSearch explanations
When silverstripe/subsites is installed and the active index declares SubsiteID as a filter, the More explanation search automatically scopes results to the current CMS subsite from SubsiteState, while still including records with SubsiteID 0 or no SubsiteID.
FineTune stores non-default values in OpenSearchFineTuneSettings and applies them to generated searches at runtime. The available controls are:
type(multi_match.type)operatorminimum_should_matchfuzzinessmin_score
Defaults preserve the module's existing behaviour:
type: omitted, which matches the currentmulti_matchdefault behaviouroperator: omitted, which matches the currentmulti_matchdefault behaviourminimum_should_match: omittedfuzziness: omittedmin_score: omitted
When type is cross_fields, phrase, or phrase_prefix, configured fuzziness is ignored because OpenSearch does not allow that combination.
min_score is only added to generated request bodies when a search term is present or an explicit query option is supplied, so empty filter-only searches continue to behave as they do today.
Synonyms stores rules as related OpenSearchSynonym records on the current SiteConfig and applies them to generated searches at runtime, so changes take effect without reindexing or recreating the index.
In the CMS, editors manage synonyms with a GridField under Root.OpenSearch.Synonyms.
Each row has two simple lists:
When searching for theseAlso search for these
Search Form
The module ships with:
Toast\OpenSearch\Forms\SearchFormToast\OpenSearch\Extensions\ContentControllerExtension
The controller extension adds SearchForm() and searchResults() to ContentController.
The form reads the Search query parameter, runs the helper query, and hydrates matches back into DataObject records when possible.
Search form pagination config:
Tasks
Index manager:
Supported actions:
initresetcleardeletestatus
Full reindex:
Notes
searchFieldsentries not declared infieldsare mapped astextfiltersare both mapped and included in indexed documentsIDandClassNameare always indexed- versioned classes are reindexed from
Live - undeclared runtime filters are ignored
Toast\OpenSearch\Extensions\DataObjectExtensiononly performs automatic indexing for records included by the activeOpenSearchIndex, while still reindexing dependent parent records for declared relation chains and respectingexcludedClasses
All versions of opensearch with dependencies
silverstripe/framework Version ^6
opensearch-project/opensearch-php Version ^2.5