Self-Hosted Search That Actually Handles the Messy Crawling
Fess gives teams a self-hosted search server with built-in crawlers and a web UI so they can index heterogeneous data without managing raw OpenSearch clusters.

What it does
Fess is a self-hosted enterprise search server written in Java that wraps OpenSearch in a complete application layer. It provides a browser-based administration interface, built-in crawlers for websites and file systems, and role-based access control — essentially turning the search engine into a turnkey appliance. You point it at web pages, file shares, databases, or services like Slack and SharePoint, and it handles indexing, parsing, and permissions.
The interesting bit
The project treats OpenSearch as an implementation detail rather than a prerequisite skill. Fess bundles its own crawler framework, parses everything from PDFs to ZIP archives, and plugs into corporate identity systems like SAML and Microsoft Entra ID — the unglamorous plumbing that usually demands custom integration work.
Key highlights
- Built-in crawlers for 15 data sources including Confluence, Salesforce, S3, and Git repositories
- Document parsing for Microsoft Office, PDF, and archive formats out of the box
- Role- and permission-based result filtering with SSO support (LDAP, OpenID Connect, SAML, SPNEGO, Entra ID)
- Multilingual text analysis and UI support for more than 20 languages
- Extensible via plugins for themes, data store connectors, ingest pipelines, and scripting (Groovy, OGNL)
Caveats
- Requires Java 21 and a separate OpenSearch backend unless you use the bundled Docker image
- Integration tests and local startup can take up to 60 seconds, so it is not a lightweight embedded library
Verdict
Organizations needing a private alternative to commercial enterprise search or Google Site Search should evaluate this; developers who just need a quick search box for a single app will find it heavier than necessary.
Frequently asked
- What is codelibs/fess?
- Fess gives teams a self-hosted search server with built-in crawlers and a web UI so they can index heterogeneous data without managing raw OpenSearch clusters.
- Is fess open source?
- Yes — codelibs/fess is open source, released under the Apache-2.0 license.
- What language is fess written in?
- codelibs/fess is primarily written in Java.
- How popular is fess?
- codelibs/fess has 1.1k stars on GitHub.
- Where can I find fess?
- codelibs/fess is on GitHub at https://github.com/codelibs/fess.