https://github.com/kit-data-manager/indexing-service
Service for indexing metadata via RabbitMQ
https://github.com/kit-data-manager/indexing-service
restful-api
Last synced: about 1 year ago
JSON representation
Service for indexing metadata via RabbitMQ
- Host: GitHub
- URL: https://github.com/kit-data-manager/indexing-service
- Owner: kit-data-manager
- License: apache-2.0
- Created: 2020-11-11T07:16:54.000Z (over 5 years ago)
- Default Branch: main
- Last Pushed: 2025-05-04T19:02:51.000Z (about 1 year ago)
- Last Synced: 2025-05-04T20:19:14.079Z (about 1 year ago)
- Topics: restful-api
- Language: Java
- Homepage:
- Size: 878 KB
- Stars: 0
- Watchers: 2
- Forks: 1
- Open Issues: 11
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
- Citation: CITATION.cff
Awesome Lists containing this project
README
# Indexing-service
[](https://github.com/kit-data-manager/indexing-service/actions/workflows/gradle.yml)
[](https://codecov.io/gh/kit-data-manager/indexing-service)
[](https://github.com/kit-data-manager/indexing-service/actions/workflows/codeql-analysis.yml)

[![docker]](https://github.com/kit-data-manager/indexing-service/pkgs/container/indexing-service)
[![currentVersion]](https://github.com/kit-data-manager/indexing-service/pkgs/container/indexing-service)
[![size]](https://github.com/kit-data-manager/indexing-service/pkgs/container/indexing-service)
[docker]:
[currentVersion]:
[size]:
:information_source:
The service should not be directly accessible from the outside.
:warning:
For mapping documents only Gemma is available currently!
A standalone service which receives messages about changes in metadata documents maps them to a common format and ingests them into elasticsearch.

## How to build
Dependencies that are needed to build and are not being downloaded via gradle:
- OpenJDK 17 or higher
```
$ bash build.sh PATH/TO/INSTALLATION/DIR
```
## How to start
```
$ PATH/TO/INSTALLATION/DIR/run.sh
```
### Prerequisites
You might want to take a look at testbed4inf, which should make it easy to satisfy those.
- Python3
- PIP
- xmltodict
- wget
- a running RabbitMQ instance
- a running elasticsearch instance
### Setup using Docker
#### Install Python for Gemma
```
sudo apt-get install --assume-yes python3 python3-pip
pip3 install xmltodict wget
```
#### Install and Start Network
```
docker network create network4datamanager
```
#### Install and Start Elasticsearch
```
docker pull elasticsearch:7.9.3
docker run -d --name elasticsearch4metastore -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" elasticsearch:7.9.3
```
#### Install and Start RabbitMQ
```
docker run -d --hostname rabbitmq --net network4datamanager --name rabbitmq4docker -p 5672:5672 -p 15672:15672 rabbitmq:3-management
```
#### Managing Services
To start/stop a single service just type
```
docker start/stop name_of_container
```
e.g.:
```
docker stop elasticsearch4metastore
```
## More information
## License
See [LICENSE file in this repository](LICENSE).