Download the PHP package nyeholt/silverstripe-extensible-elastic without Composer
On this page you can find all versions of the php package nyeholt/silverstripe-extensible-elastic. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download nyeholt/silverstripe-extensible-elastic
More information about nyeholt/silverstripe-extensible-elastic
Files in nyeholt/silverstripe-extensible-elastic
Package silverstripe-extensible-elastic
Short Description An elastic search adapter for extensible search
License BSD-3-Clause
Homepage https://github.com/nyeholt/silverstripe-extensible-elastic
Informations about the package silverstripe-extensible-elastic
Elastic Extensible Search
An extensible search implementation for Elastic Search.
Installation
composer require nyeholt/silverstripe-extensible-elastic
NOTE: if using filters on your search page, or outputting the Score in results, you'll need the following patch
https://gist.github.com/nyeholt/47be9e689b069375215c96f8ee3f865f
Configuration
Add the following to your project's config
To add additional types for selection in an extensible search page config; note namespaces are supported.
Run /dev/tasks/Symbiote-ElasticSearch-VersionedReindexTask
Note: Reindex will ONLY reindex items that have the Searchable extension applied. There's also a DataDiscovery extension that will grab taxonomy terms if available.
API
To define your own custom field structures in the elastic index, you need to
- define your field mappings for the 'rebuild' phase
- add data for those fields during the indexing phase
Details
How do I use the BoostTerms field?
BoostTerms are used for subsequent querying, either direct through the builder or by the "Boost values" and "Boost fields with field/value matches" options on the Extensible Search Page.
The field hint states to use the word "important" in this field to boost the record super high in result sets. This requires you to set the "Boost fields with field/value matches" to have an entry of
BoostTerms:important
: 10
in the search page to boost records with that set. Additionally, set the "Boost values" for BoostTerms to be higher than all other fields for any match to contribute highly.
Why the separate ElasticaSearchable extension?
The base Heyday Elastic module doesn't handle indexing of Versioned content directly; ElasticaSearchable provides a few overrides that take into account versioned content.
Can I get rid of stale results?
You can prune old results by creating the PruneStaleResultsJob ; this takes as parameters
- The field:value filter to use; typically something like ClassName:MyDataClass. If you don't want a filter applied, pass the string 'null'
- How old something should be until it's considered 'old' in strtotime format
- How frequently to run the job in seconds, ie 86400 for every day
- How many to delete in each batch, typically around 1000
All versions of silverstripe-extensible-elastic with dependencies
nglasl/silverstripe-extensible-search Version ~4.0
heyday/silverstripe-elastica Version *
symbiote/silverstripe-multivaluefield Version *