This page describes common problems and solutions during installation, startup, and operation of Fess.
Installation Issues
Java Not Recognized
Symptoms:
Or:
Cause:
Java is not installed, or the PATH environment variable is not configured correctly.
Solution:
Verify Java is installed:
If not installed, install Java 21:
The standard repositories of Debian 12 have no
openjdk-21-jdkpackage. On Debian 12, install Eclipse Temurin 21 instead, following the instructions for Debian in the Adoptium installation guide for Linux.Set JAVA_HOME environment variable:
For persistent configuration, add to
~/.bashrcor/etc/profile.
Plugin Installation Fails
Symptoms:
Causes:
Network connection issues
Plugin version does not match OpenSearch version
Permission issues
Solution:
Verify OpenSearch version:
Match plugin version to OpenSearch version:
Verify permissions:
For installation through a proxy:
Startup Issues
Fess Won’t Start
Symptoms:
Fess startup command produces an error or exits immediately.
Verification Items:
Verify OpenSearch is running:
If working correctly, a JSON response will be returned.
When no OpenSearch answers, Fess retries for about a minute and then stops starting up, with the following message on the console and in
logs/fess.log:Start OpenSearch, or check
SEARCH_ENGINE_HTTP_URL. A new ZIP installation has no OpenSearch until one is set up withbin/fess-setup install opensearch; see Linux Installation (Detailed Procedure).Check for port conflicts:
If port 8080 is already in use, change the port number in the configuration file.
Check log files:
Identify the cause from error messages.
Verify Java version:
Verify that Java 21 or later is installed.
Check for insufficient memory:
If memory is insufficient, adjust heap size or increase system memory.
OpenSearch Won’t Start
Symptoms:
Cause:
System configuration does not meet OpenSearch requirements.
Solution:
Set vm.max_map_count:
For persistent configuration:
Increase file descriptor limits:
Add the following:
Configure memory locking:
Add the following:
Restart OpenSearch:
Index Cannot Be Created (Dictionary File Path)
Symptoms:
Accessing Fess returns HTTP 404, and the following error is written to fess.log:
Cause:
OpenSearch 3.8.0 and later refuse to create an index when dictionary files are outside the OpenSearch configuration directory. configsync.config_path and FESS_DICTIONARY_PATH point outside the configuration directory (such as data/config/).
Solution:
Change
configsync.config_pathandFESS_DICTIONARY_PATHto a directory under the OpenSearch configuration directory.RPM/DEB version:
/etc/opensearch/dictionary/ZIP version:
/path/to/opensearch-3.9.0/config/dictionary/
If you have existing dictionary files, copy them to the new directory.
Restart OpenSearch, then Fess.
For details, see Linux Installation (Detailed Procedure).
Port Conflict
Symptoms:
Solution:
Check ports in use:
Stop the process using the port, or change Fess port number
For port number changes, see :doc:Port and Network Settings <../config/setup-port-network>.
Connection Issues
Fess Cannot Connect to OpenSearch
Symptoms:
Logs show errors like the following:
Solution:
Verify OpenSearch is running:
Verify connection URL
Verify the URL configured in
fess.in.shorfess.in.batis correct:Check firewall:
Verify port 9200 is open.
Verify network connection
If OpenSearch is running on a different host:
Cannot Access Fess from Browser
Symptoms:
Cannot access http://localhost:8080/ in browser.
Solution:
Verify Fess is running:
Try accessing on localhost:
Check firewall:
Verify port 8080 is open.
When accessing from another host
Verify Fess is listening beyond localhost:
If
127.0.0.1:8080, configure to listen on0.0.0.0:8080or a specific IP address.
Performance Issues
Slow Search
Causes:
Large index size
Insufficient memory
Slow disk I/O
Complex queries
Solution:
Increase heap size
Start Fess with
FESS_HEAP_SIZEpassed as an environment variable:To set it in
bin/fess.in.sh, writeFESS_HEAP_SIZE=4gbefore the line that determines the heap size (the line that sets the default value ofFESS_MIN_MEM). Appending it to the end of the file has no effect because the heap size has already been determined by then. For the RPM/DEB edition, set it in/etc/sysconfig/fess(/etc/default/fessfor DEB).Also adjust OpenSearch heap size:
Use SSD
If disk I/O is a bottleneck, migrate to SSD.
Enable caching
Enable query cache in configuration file.
Slow Crawling
Causes:
Long crawl interval
Slow target site response
Insufficient number of threads
Solution:
Adjust crawl interval
Shorten the “Interval” in crawl configuration on the admin screen (in milliseconds).
Warning
If the interval is too short, it may overload the target site. Set an appropriate value.
Increase number of threads
Increase the “Number of Threads” of the crawl configuration on the admin screen. The default is 1 for Web crawls and 5 for file system crawls.
Adjust timeout values
For sites with slow responses, increase timeout values.
Data Issues
No Search Results Displayed
Causes:
Index not created
Crawl failed
Incorrect search query
Solution:
Verify index:
Verify Fess indexes exist.
Check crawl logs
Download the crawl log (
fess-crawler.log) from “System Info” → “Log File” in the admin screen and check it for errors.Re-run crawl
Execute “Default Crawler” from “System” → “Scheduler” in the admin screen.
Simplify search query
First search with simple keywords to verify results are returned.
Index Corrupted
Symptoms:
Errors occur during search or unexpected results are returned.
Solution:
Delete and recreate index
Warning
Deleting the index will lose all search data. Always create a backup first.
Restart Fess
The indexes are created when Fess starts. Immediately after the deletion, the user information index is also lost, so you cannot log in to the admin screen (
/api/v2/healthkeeps returning200). Restarting Fess recreates the indexes, the default jobs, and the initial user (admin).Re-run crawl
Execute “Default Crawler” from the admin screen to register the documents to be searched again.
Docker-Specific Issues
Container Won’t Start
Symptoms:
Container does not start with docker compose up.
Solution:
Check logs:
Check for insufficient memory
Increase memory allocated to Docker (from Docker Desktop settings).
Check for port conflicts:
Verify no other containers are using ports 8080 or 9200.
Verify Docker Compose file
Check for syntax errors in YAML file:
Container Starts But Cannot Access Fess
Solution:
Check container status:
Check logs:
Verify network settings:
Windows-Specific Issues
Path Issues
Symptoms:
Errors occur when paths contain spaces or Japanese characters.
Solution:
Install in a directory that does not contain spaces or Japanese characters in the path.
Example:
Cannot Register as Service
Solution:
Use third-party tools such as NSSM to register as a Windows service.
For details, refer to Windows Installation (Detailed Procedure).
Other Issues
Change Log Level
To check detailed logs, change the log level to DEBUG.
Edit log4j2.xml:
Reset Database
To reset configuration, delete OpenSearch indexes:
Warning
This command will delete all configuration data.
Forgotten Administrator Password
If you forgot the administrator password, you can reset it by updating the user document directly in the fess_user.user index of OpenSearch. The password is stored in the password field as a hash in the form {bcrypt}$2a$.... The change takes effect without restarting Fess.
Create the hash of the new password. Fess accepts only bcrypt hashes that start with
$2a$, so replace the$2y$printed byhtpasswd(contained in theapache2-utilsorhttpd-toolspackage) with$2a$. ReplaceNewPasswordwith the new password:Update the password in the document of the admin user. The document ID of the admin user in its initial state is
YWRtaW4=:To reset the password of another user, look up the
_idwithcurl 'http://localhost:9200/fess_user.user/_search?q=name:USERNAME'and use that ID. If authentication is enabled for OpenSearch, add the credentials to curl.Confirm that you can log in to the admin screen with the new password. If the password remains in your command history, set the password again under [User > User] after logging in.
Support Information
If problems cannot be resolved, use the following support resources:
Community Support
Issues: https://github.com/codelibs/fess/issues
When reporting issues, include the following information:
Fess version
OpenSearch version
OS and version
Error messages (excerpts from logs)
Reproduction steps
Commercial Support
For commercial support needs, please contact N2SM, Inc.:
Collecting Debug Information
When reporting issues, collecting the following information is helpful:
Version information (
bin/fess -vis available in 15.9 and later):System information:
Log files:
Configuration files (after removing sensitive information):
OpenSearch status: