OpenSource-Hub
F

Fess

SHA-256
1.1k stars·System Optimization·SHA-256 checksum verified

Fess is an easy-to-deploy enterprise search server with a built-in crawler and admin UI, based on OpenSearch but requiring no prior knowledge.

Enterprise search server you can run in minutes, with built-in crawler and admin GUI.

Core Features

  • Quick start: unzip and run, no complex configuration
  • Built-in crawler for web, file system, and databases
  • Supports Office documents, PDF, ZIP and many more formats
  • Browser-based administration console for managing crawls and indices
  • Docker support for easy deployment

What It Can't Do

  • First startup auto-downloads OpenSearch plugins, requiring internet access.
  • Change the default admin password and enable TLS in production.
  • Adjust crawl scheduling and resource limits to avoid overloading your systems.
  • For Chinese search, configure the lang_zh analyzer as described in the official docs.

Use Cases

  • Enterprise document search across shared folders and intranets
  • Site search for public or private websites
  • Knowledge base and wiki content indexing (via Confluence, Jira, etc.)

Detailed Introduction

Fess is a powerful yet simple enterprise search server that you can install and run on any platform supporting Java. It is built on top of OpenSearch, but you don't need to know anything about OpenSearch to use it. Fess comes with a user-friendly administration GUI accessible via browser, and a built-in crawler that can index documents from web servers, file systems, and data stores (CSV, databases, etc.). It supports a wide range of file formats including Microsoft Office, PDF, and ZIP archives. With its Fess Site Search component, it offers a free alternative to Google Site Search. Fess is licensed under Apache License 2.0 and is actively maintained by the CodeLibs community.

Troubleshooting & FAQ (1)

Troubleshooting
Why does my AI search chatbot keep asking for clarification (UNCLEAR intent) when the LLM response is truncated due to token limits?

In fess, the intent detection in AbstractLlmClient can incorrectly return UNCLEAR when the LLM response is truncated because the finish reason check only recognizes "length" (OpenAI) but not "MAX_TOKENS" (Gemini) or "max_tokens" (Anthropic). Additionally, a partially parseable truncated JSON may be treated as a valid unclear response instead of triggering a fallback search. To fix, update isEmptyContentWithLengthFinish to detect all truncation finish reasons (e.g., Set.of("length", "MAX_TOKENS", "max_tokens", "model_length");). Also modify detectIntent to force fallback search for any truncated response, even if content is non-blank. As a temporary workaround, increase the max_tokens setting for the LLM client to prevent truncation.

GitHub Issue #3125

Tags

search-enginecrawlerenterprise-searchopensearchjava

Getting Started

1

Download installer

Click the button above to download the installer for your system

2

Install the software

Install the appropriate package for your distro (dpkg / rpm / AppImage)

3

Download the latest zip release and unzip it

4

Run ./bin/fess from the extracted directory

5

Open http://localhost:8080/ for search UI or http://localhost:8080/admin/ for admin (default credentials admin/admin)

Install Guide
  1. Download the latest zip release and unzip it
  2. Run ./bin/fess from the extracted directory
  3. Open http://localhost:8080/ for search UI or http://localhost:8080/admin/ for admin (default credentials admin/admin)
File Integrity

SHA-256 checksum verified

Checksum extracted from GitHub official Release page

SHA256 Checksum

4f3aa5255d79c257bc97c7b828309666b9116d6712eff658d78aee26da4a2e59

This checksum is extracted from the GitHub Release page. Verify file integrity after download.

All SHA-256 checksums on this platform are extracted from the project's official GitHub Release page, without any modification. You can independently verify them on the GitHub Releases page.

Open Source Transparency

View GitHub Source
Environment Guide

Uninstall Info

Stop the Fess process and delete the extracted directory. For Docker, run docker-compose down and remove the containers. Index data is stored inside the fess directory by default; delete it if you want a complete removal.

No Extra Dependencies

Ready to use after download. No additional runtime required.

Project Info
LicenseApache 2.0
Last Updated2026-06-27 13:55:34
GitHub RepositoryOfficial Website

Having issues? Check the FAQ below

1 FAQ

Similar Projects