Spring-Boot2 and Spring-Batch web application for generating updates to the Recommendation Engine
The software retrieves set names and uses this to loads records (of a particular set) from a Mongo databases. Part of the record data is then send to the Embeddings API which returns vectors. The vectors are saved into a Milvus database.
- Java 17
- Maven*
- Europeana parent pom
- Record Solr search engine
- Record Mongo database
- Embeddings API
- Milvus Recommendation Engine (v2.2.x)
- At least 90 GB free HDD space (for about 60 million records)
* A Maven installation is recommended, but you could use the accompanying mvnw (Linux, Mac OS) or mvnw.cmd (Windows)
files instead.
The application is a command-line application. Either select the RecommendUpdaterApplication class in your IDE and 'run' it
or
go to the application root where the pom.xml is located and excute
./mvnw spring-boot:run (Linux, Mac OS) or mvnw.cmd spring-boot:run (Windows)
One of the following command-line options is required:
--FULLto start a full update covering all records--from=<date>to start a partial update with all records created or modified after the provided date. The date needs to be in ISO format, e.g.--from=2021-10-08or--from=2021-10-08T12:15:00--sets=<setId1>,<setId2>to start an update for one or more sets. The list of sets should be comma-separated--setFile=<fileName>to load a list of sets from file. Expects 1 set name or set id per line
At the moment the 4 options cannot be combined.
Optional extra command-line options are:
--DELETEto delete the existing Milvus data before starting the update--batchto modify the batch size (overrides option in configuration file)--threadsto modify the number of threads (sets) that are updated in parallel (overrides option in configuration file)
Licensed under the EUPL 1.2. For full details, see LICENSE.md.