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 - https://artifacts.elastic.co/GPG-KEY-elasticsearch | 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!