Searching for Mahara with Elasticsearch on Ubuntu 16.04: wonderful!

Now and then I do not really remember where some things have been stored in Mahara: the standard search function is not helpful at all, searching only for user names.

Lately I got audacious and thought about setting up Elasticsearch on my Ubuntu server and connecting Mahara to it (as I had read enviously here to be possible). The good news: installation was a breeze (see below) and it worked instantly with Mahara — well, almost.

Installation of Elasticsearch

As I like using apt (as updating is simple) I followed the instructions here, using this command sequence :
wget -qO - | sudo apt-key add -
apt-get update && sudo apt-get install elasticsearch
systemctl enable elasticsearch.service
systemctl start elasticsearch

You see nothing special at all, everything most simple and standard.

Configuration of Mahara

Following the description I did not more than the steps mentioned there:

2. Go to “Administration -> Extensions -> search -> elasticsearch”
4. Scroll down, and select all the artefact types that you want Elasticsearch to index. (Probably all of them.)
5. Click Save
6. Go to “Administration -> Configure site -> Site options”
7. Open the “Search settings” subsection, and set “Search plugin” to “Elasticsearch”.
Waiting some time (Indexing requests had been pushed to my cronjob) gave a working search, much, much better than before!

CAVEAT: This did not work when I tried it the first time some month ago, as my installed version of Elasticsearch (6.6.x) was not handled correctly by my Mahara (17.10.x), a bug fixed in 18.4.0. So: update Mahara to this version and everything will be fine! 

Leave a Reply