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

Address

Maryland USA