Download the PHP package heyday/silverstripe-elastica without Composer
On this page you can find all versions of the php package heyday/silverstripe-elastica. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download heyday/silverstripe-elastica
More information about heyday/silverstripe-elastica
Files in heyday/silverstripe-elastica
Package silverstripe-elastica
Short Description Provides Elastic Search integration for SilverStripe DataObjects using Elastica
License BSD-3-Clause
Homepage http://github.com/heyday/silverstripe-elastica
Informations about the package silverstripe-elastica
Heyday's SilverStripe Elastica Module
Facilitates searching and indexing of SilverStripe CMS using ElasticSearch. We use Elastica to do all the heavy lifting in terms of communication with the elastic search server.
This module makes it easy to use ElasticSearch with SilverStripe without limiting any of the functionality found in Elastica. Basically anything that can be done with Elastica alone can be done in conjunction with this module.
This module supercedes Symbiote's Elastica Module, which was only supported up to SilverStripe 3.
Features
- Uses Elastica to communicate with the ElasticSearch Server
- Uses PSR/Log interface for logging purposes (optional)
- Uses YAML configuration to index Data Objects and Pages
- Can handle has_many, many_many, and has_one relationships in the indexed ElasticSearch document
- Can handle invalidation and reindexing of related data objects
- Can handle custom fields that are not in the database but only exist as part of an object instance
- Infers ElasticSearch document field type from the database field type defined in the corresponding SilverStripe model
Compatibility
This release should be compatible with all ElasticSearch 7.0 and above versions. May work with elasticsearch 6. This release requires SilverStripe 4.x
If you need to work with an earlier version of elasticsearch (2.x) and SS (3.x), please try the 1.0 release of this module
Installation
Usage
Elastica Service configuration example:
mysite/_config/search.yml
Index configuration example:
mysite/_config/search.yml
Custom field index configuration example:
mysite/_config/search.yml
mysite/code/PageTypes/Page.php
Simple search controller configuration/implementation example:
mysite/_config/search.yml
mysite/code/Controllers/SearchController.php
Reindexing
To run a full reindex of Elastica use
Using Queues
You can make use of queues to have your reindex processes run in the background.
We use silverstripe-queuedjobs (https://github.com/symbiote/silverstripe-queuedjobs) and a job to reindex on publish has been created.
To turn on queues, you will need the following config:
You will also need to set up a cronjob (I know not very queue-like...):
Every minute to run the jobs in the queue
and to clean up the jobs, add the cleanup job once by running (it then gets automatically added to run once a day):
All versions of silverstripe-elastica with dependencies
silverstripe/framework Version ^5
ruflin/elastica Version ^7
elasticsearch/elasticsearch Version >=7.3.0
symbiote/silverstripe-queuedjobs Version *