Fess is an Enterprise Search Server. This Docker environment provides a Semantic Search Server on Fess.
Visit our public site at semantic.codelibs.org.
Ensure you have Docker and Git installed on your system.
Clone the repository and run the setup script:
git clone https://github.com/codelibs/docker-semanticsearch.git
cd docker-semanticsearch
bash ./bin/setup.sh
Start the server using Docker Compose:
docker compose -f compose.yaml up -d
Once started, access the server at http://localhost:8080/
.
Run the setup script for semantic search models:
bash <(curl -s https://raw.githubusercontent.com/codelibs/fess-webapp-semantic-search/refs/tags/fess-webapp-semantic-search-14.18.0/tools/setup.sh)
Select a model from the list provided by the script. For example, choose option 9
for huggingface/sentence-transformers/paraphrase-multilingual-MiniLM-L12-v2
.
The script will output system properties similar to the following:
--- system properties: start ---
fess.semantic_search.pipeline=neural_pipeline
fess.semantic_search.content.nested_field=content_vector
fess.semantic_search.content.chunk_field=content_chunk
fess.semantic_search.content.field=knn
fess.semantic_search.content.dimension=384
fess.semantic_search.content.method=hnsw
fess.semantic_search.content.engine=lucene
fess.semantic_search.content.space_type=cosinesimil
fess.semantic_search.content.model_id=...
fess.semantic_search.min_score=0.5
--- system properties: end ---
Copy these properties.
- Go to the Admin > General page.
- Add the copied values to the System Properties field.
- Click Update button.
When creating crawl settings before starting a crawl, you must specify semantic in the Virtual Host field. This step ensures semantic search functions correctly.
- Navigate to the Admin > Maintenance page.
- Start the reindexing process.
Your semantic search setup on Fess is now complete and ready to use.
To stop the server, run:
docker compose -f compose.yaml down
To deploy in a production environment, replace semantic.codelibs.org
with your domain in compose-production.yaml
.
For additional support or information, please visit the Fess documentation.