Install
Zulia requires Java 17 or greater. Lucene has special optimizations for Java 19, 20, and 21 so JDK greater than 19 is recommended
Download latest version and extract
https://github.com/zuliaio/zuliasearch/releases
cd YOUR_INSTALL_DIR
wget https://github.com/zuliaio/zuliasearch/releases/download/3.4.6/zulia-server-3.4.6.tar
tar xvf zulia-server-3.4.6.tar
rm zulia-server-3.4.6.tar
ln -s zulia-server-3.4.6 zulia-server
OR Compile latest from code
cd YOUR_INSTALL_DIR
git clone git@github.com:zuliaio/zuliasearch.git
cd zuliasearch
./gradlew
# can replace wildcards below with actual file / dir names
cp zulia-server/build/distributions/zulia*tar ..
cd ..
tar xvf zulia-server-*.tar
rm zulia-server-*.tar
ln -s zulia-server-* zulia-server
Edit Zulia Configuration
Edit zulia-server/config/zulia.yaml
Add node(s) and start node(s)
cd zulia-server/bin
./zuliad --config ../config/zulia.yaml addNode
./zuliad --config ../config/zulia.yaml start
systemd script and future maintenance
Create systemd and environment file script
CHANGE User and Group to user/group that can write the directory given in zulia.yaml
nano /etc/default/zulia
ZULIAD_OPTS="-Xmx15g"
# save and exit
nano /lib/systemd/system/zuliad.service
[Unit]
Description=Zulia
After=syslog.target network.target remote-fs.target nss-lookup.target
[Service]
User=app
Group=app
Type=simple
WorkingDirectory= /usr/lib/zulia-server
ExecStart=/usr/lib/zulia-server/bin/zuliad --config /etc/zulia.yaml start
ExecStop=/usr/lib/zulia-server/bin/zuliad --config /etc/zulia.yaml stop
Restart=on-failure
EnvironmentFile=/etc/default/zulia
LimitFSIZE=infinity
LimitCPU=infinity
LimitAS=infinity
LimitMEMLOCK=infinity
LimitNOFILE=64000
LimitNPROC=64000
[Install]
WantedBy=multi-user.target
# save and exit
sudo systemctl daemon-reload
sudo systemctl enable zuliad.service