ActiveCollab uses ElasticSearch. If you don't configure it, ActiveCollab will still work - but you won't be able to use in-app search.
To run ElasticSearch, Java needs to be installed on the server. You'll also need system permissions to access your server's terminal and make changes.
Download ElasticSearch 6.0 or newer and extract the archive.
Set Elasticsearch to run as a service.
After starting ElasticSearch, it'll listen on port 9200 by default. You'll have to keep it running on the server all the time if you want to use search in ActiveCollab (Elastic Search should be started as a service).
In ActiveCollab, open System Settings > Configure Technical Settings > Configure Search.
Enter one or more Elastic Search Host(s) (comma separated list of IP addresses or hostnames; port number can be included in the hostname, like 127.0.0.1:9200, or localhost:9200).
Click Save Changes.
Rebuild the search index, by following instructions below.
Search index is rebuild from the command line. Using the terminal, navigate to directory where ActiveCollab is installed, and run this command:
php tasks/activecollab-cli.php rebuild_search_index
Indexing might take anywhere from a few seconds to a few hours, depending on the size of your database. In-app search should be ready to use once a few run_every_minute Cron jobs are executed and all the data is indexed.
Note that search won't work if Cron jobs aren't configured properly. The first time you rebuild the index, you're letting ActiveCollab know that Cron jobs can start indexing changes.