pleio / elasticsearch
An Elasticsearch integration for Elgg.
Installs: 3 211
Dependents: 0
Suggesters: 0
Security: 0
Stars: 1
Watchers: 7
Forks: 1
Open Issues: 0
Type:elgg-plugin
Requires
- composer/installers: ^1.0.8
- elasticsearch/elasticsearch: ~1.0
This package is not auto-updated.
Last update: 2024-12-21 17:42:16 UTC
README
This plugin adds full-text search capabilities to your Elgg installation, allowing you to search through entities and annotations (in ELGG 1.8).
Installation and configuration
-
Install the plugin (and it's dependencies) by running:
composer require pleio/elasticsearch
-
Add the following configuration to engine/settings.php:
$CONFIG->elasticsearch = array( 'hosts' => array( '127.0.0.1' ) ); $CONFIG->elasticsearch_index = 'pleio-dev';
-
Activate the plugin through the Elgg admin panel.
-
Create the index and mappings in Elasticsearch by running:
php console.php es:index:reset
This command will (re-)create the index. All existing content attached to the Elasticsearch will be deleted. From now on all entity CRUD actions will automatically be synced with Elasticsearch.
Bulk synchronisation
The tool comes with a tool to synchronize all existing content with Elasticsearch. Run
php console.php es:sync:all
to start a bulk synchronisation.
File contents indexing
It is also possible to use this tool in conjunction with PleioAsyncTaskHandler and tika-server to search through ElggFile contents.
-
Download and run the tika-server:
wget http://www.apache.org/dyn/closer.cgi/tika/tika-server-1.15.jar java -jar tika-server-1.15.jar
-
Add the following configuration to engine/settings.php:
$CONFIG->tika_server = ["localhost", 9998];
-
Make sure the PleioAsyncTaskHandler is running by:
php console.php async:taskhandler
Now when files are added or updated, the contents are indexed automatically.