JHN Installation guide for Recsy (Europeana XX)

Created by Alexander Raginsky last modified Vadim Shestopalov


  • 32G memory
  • 256G disk


  • docker
  • docker-compose
  • aws s3 cli

Setup directories and config

mkdir -p /opt/milvus/conf 
wget /opt/milvus/conf

Download embeddings (about 75G)

aws s3 cp --profile wasabi --endpoint-url  --recursive  s3://jhn01/milvus_laser_300/ /opt/milvus/

Download application configuration file and edit needed values:


This file contain 3 sections:

  • [app:main] - for API parameters configuration

    • port: set up port on which application will run (int). Default is 5090
    • no_milvus: true/false value which sets if vector engine should be used. Default is true
    • milvus_host: host where milvus vector engine is runnng. Default is localhost
    • milvus_db_path: path to the vector engine database (mapped inside docker-compose)
    • milvus_index_name: name of the index to be used inside vector engine. Default is europeana_prod_laser_300
  • [app:search] - parameters for calling external europeana search API's

    • RECSY_SEARCH_KEY: API key for Europeana Search API
    • RECSY_SEARCH_API: endpoint URL for Europeana Search API. Default is
    • RECSY_USER_SETS_API: endpoint URL for Euopeana Sets API. Default is
    • RECSY_EMBEDDINGS_API: url of embeddings API. Default is: http://
  • [app:events] - parameters for setting up events storage (it could be either elasticsearch or sql)

    • RECSY_EVENTS_PROVIDER: sql or elasticsearch. Default is: sql
    • RECSY_EVENTS_URL: url of database for hosting events. Default is: localhost
    • RECSY_EVENTS_PORT: port of database for hosting events. Default is 3200 for elasticsearch or 5432 for sql
    • RECSY_EVENTS_SQL_DIALECT: sql dialect. Default is: postgres (used for sql provider only)
    • RECSY_EVENTS_DB_USER: sql database dialect. Default is: europeana (used for sql provider only)
    • RECSY_EVENTS_DB_PASSWORD: sql database password. (used for sql provider only)
    • RECSY_EVENTS_DB_NAME: sql database name. Default is: events (used for sql provider only)

You could read more on configuration file format here

Run API and Milvus

Create directory for volume of postgres data:

mkdir /home/recsy/events_postgres_data

Then download docker-compose and run it:

docker-compose up

Basic test

curl -XGET  http://localhost:5090/recommend/status

You should get list of IDs

Comments (0)


You can clone a snippet to your computer for local editing. Learn more.