Skip to content

codelibs/docker-semanticsearch

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Semantic Search on Fess

Fess is an Enterprise Search Server. This Docker environment provides a Semantic Search Server on Fess.

Public Site

Visit our public site at semantic.codelibs.org.

Getting Started

Prerequisites

Ensure you have Docker and Git installed on your system.

Setup

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

Start the server using Docker Compose:

docker compose -f compose.yaml up -d

Once started, access the server at http://localhost:8080/.

Configure Semantic Search

Run the setup script for semantic search models:

bash <(curl -s https://github.com/raw/codelibs/fess-webapp-semantic-search/main/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.

Update System Properties in Fess

  1. Go to the Admin > General page.
  2. Add the copied values to the System Properties field.

Reindex Data

  1. Navigate to the Admin > Maintenance page.
  2. Start the reindexing process.

Your semantic search setup on Fess is now complete and ready to use.

Stop the Server

To stop the server, run:

docker compose -f compose.yaml down

For Production

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.