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.
Installing and Running ElasticSearch
- Download ElasticSearch 8.x 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 the search option in ActiveCollab (Elastic Search should be started as a service).
- In ActiveCollab, open System Settings > Configure Technical Settings > Configure Search,
- Enter one or more Host(s) (comma-separated list of IP addresses or hostnames; port number can be included in the hostname, like https://127.0.0.1:9200, or https://localhost:9200),
- Enter Username (default elastic)
- Enter Password
- Enter Certificate Path (if required by ElasticSearch configuration)
- Click Save Changes,
- Rebuild the search index, by following the instructions below.
Rebuilding the Search Index
The search index rebuilds from the command line. Using the terminal, navigate to the 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.