Installation

Requirements

Fess can be available in these environments.

  • OS: Windows/Unix with Java environment
  • Java: Java 11
  • (RPM or DEB) Elasticsearch: 7.3.X

If Java is not installed in your environment, see we want to Fess from AdoptOpenJDK site to install JDK. Embedded Elasticsearch is not recommended for production use.

Download

Download the latest Fess package from the release site, https://github.com/codelibs/fess/releases.

Installation

Using ZIP package

You need to install elasticsearch before Fess installation. Download elasticsearch from elasticsearch site https://www.elastic.co/downloads/elasticsearch, and then install the package. Unzip the downloaded elasticsearch-<version>.zip. For UNIX environment, run the following command:

$ unzip elasticsearch-<version>.zip

Unzip the downloaded fess-<version>.zip. For UNIX environment, run the following command:

$ unzip fess-<version>.zip
$ cd fess-<version>

Fess provides elasticsearch plugins to extend elasticsearch’s features for Fess. Install the following plugins to plugins directory in elasticsearch.

$ ./elasticsearch-<version>/bin/elasticsearch-plugin install org.codelibs:elasticsearch-analysis-fess:7.3.0
$ ./elasticsearch-<version>/bin/elasticsearch-plugin install org.codelibs:elasticsearch-analysis-extension:7.3.0
$ ./elasticsearch-<version>/bin/elasticsearch-plugin install org.codelibs:elasticsearch-configsync:7.3.0
$ ./elasticsearch-<version>/bin/elasticsearch-plugin install org.codelibs:elasticsearch-dataformat:7.3.0
$ ./elasticsearch-<version>/bin/elasticsearch-plugin install org.codelibs:elasticsearch-minhash:7.3.0

Note that these plugins depends on elasticsearch version. execute: ref: elasticsearch-cluster before starting.

Using RPM package

You need to install elasticsearch RPM package before Fess installation. Download elasticsearch RPM package from elasticsearch site https://www.elastic.co/downloads/elasticsearch, and then install the package.

$ sudo rpm -ivh elasticsearch-<version>.rpm

To access from Fess, the following configuration needs to be added to /etc/elasticsearch/elasticsearch.yml

configsync.config_path: /var/lib/elasticsearch/config

Next, install Fess RPM package.

$ sudo rpm -ivh fess-<version>.rpm

Fess provides elasticsearch plugins to extend elasticsearch’s features for Fess. Install the following plugins to plugins directory in elasticsearch.

$ /usr/share/elasticsearch/bin/elasticsearch-plugin install org.codelibs:elasticsearch-analysis-fess:7.3.0
$ /usr/share/elasticsearch/bin/elasticsearch-plugin install org.codelibs:elasticsearch-analysis-extension:7.3.0
$ /usr/share/elasticsearch/bin/elasticsearch-plugin install org.codelibs:elasticsearch-configsync:7.3.0
$ /usr/share/elasticsearch/bin/elasticsearch-plugin install org.codelibs:elasticsearch-dataformat:7.3.0
$ /usr/share/elasticsearch/bin/elasticsearch-plugin install org.codelibs:elasticsearch-minhash:7.3.0

Note that these plugins depends on elasticsearch version.

To register them as a service, run the following commands if using chkconfig,

$ sudo /sbin/chkconfig --add elasticsearch
$ sudo /sbin/chkconfig --add fess

For systemd based system(e.g. CentOS 7),

$ sudo /bin/systemctl daemon-reload
$ sudo /bin/systemctl enable elasticsearch.service
$ sudo /bin/systemctl enable fess.service

Using Your Elasticsearch Cluster On ZIP package

Fess is able to connect to your existing elasticsearch cluster. For the details to configure elasticsearch for Fess, please see steps in Using RPM package.

To connect to elasticsearch cluster from Fess, use JVM options in a launch script file. For Elasticsearch RPM/DEB package, they are in fess-<version>/bin/fess.in.sh.

ES_HTTP_URL=http://localhost:9200
FESS_DICTIONARY_PATH=/var/lib/elasticsearch/config/

Using an Elasticsearch cluster in a Windows environment.

Download and unzip the Elasticsearch zip version.

Install the following plugins to plugins directory in elasticsearch.

> c:\elasticsearch-<version>\bin\elasticsearch-plugin install org.codelibs:elasticsearch-analysis-fess:7.3.0
> c:\elasticsearch-<version>\bin\elasticsearch-plugin install org.codelibs:elasticsearch-analysis-extension:7.3.0
> c:\elasticsearch-<version>\bin\elasticsearch-plugin install org.codelibs:elasticsearch-configsync:7.3.0
> c:\elasticsearch-<version>\bin\elasticsearch-plugin install org.codelibs:elasticsearch-dataformat:7.3.0
> c:\elasticsearch-<version>\bin\elasticsearch-plugin install org.codelibs:elasticsearch-minhash:7.3.0

Note that these plugins depends on elasticsearch version.

To access from Fess, the following configuration needs to be added to <elasticsearch-<version>\config\elasticsearch.yml

configsync.config_path: c:/<elasticsearch-<version>/config/

Unzip the downloaded fess-<version>.zip.

To connect to elasticsearch cluster from Fess, use JVM options in a launch script file. For Windows environment, the following settings are put into fess-<version>\bin\fess.in.bat. fess.dictionary.path needs to be set to a path of configsync.config_path in elasticsearch.yml.

set FESS_JAVA_OPTS=%FESS_JAVA_OPTS% -Dfess.es.http_address=http://localhost:9200
set FESS_JAVA_OPTS=%FESS_JAVA_OPTS% -Dfess.dictionary.path="c:/<elasticsearch-<version>/config/"