Table of contents
- Index entries and other elements in Elasticsearch
- Customize Index data structures via hooks
- Define Index Templates to configure the Index and its fields and mapping in Elasticsearch
- Re-Index contents via utility or console command
- Craft CMS >= 5.x
Elastica Version | Craft Version | ElasticSearch Version |
---|---|---|
4.x | 5.x | 8.x |
3.x | 5.x | 7.x |
2.x | 4.x | 7.x |
1. Install
Install the package
cd /path/to/project
composer require fork/craft-elastica
2. Configuration
Go to the plugin settings page and enter a index prefix name which is prepended to the indexes being created in Elasticsearch. The name of the index is generated from this prefix. Also provide the hostname of the elasticsearch instance.
To generate the data to index register event handlers in your own module or plugin class like this:
// initialize elasticsearch indexer
Event::on(
Indexer::class,
Indexer::EVENT_INDEXER_INIT,
function (IndexerInitEvent $event) {
$event->addSectionHandles([
'articles',
]);
$event->addCategoryGroupHandles([
'topics',
]);
$event->addVolumeHandles([
'images',
]);
}
);
// build elasticsearch index data
Event::on(
Indexer::class,
Indexer::EVENT_BEFORE_INDEX_DATA,
function (IndexEvent $event) {
// build your custom data structure to index
$indexData = MyCustomPlugin::$plugin->mySearchService->getIndexData($event->sender);
$event->indexData = $indexData;
}
);
- Logo
- Index categories
- Maybe include search proxy
- Exclude sites via settings
- Show index info / test index in utility
- More documentation
Brought to you by Fork Unstable Media GmbH