Sibyl is a search indexer and popularity ranking engine made for integrating Koha circulation data, RDF metadata and various aggregation data (clicks, availability, checkout frequence, etc.) to populate an Elasticsearch index for use in Oslo Public Library.
Basically it keeps a separate database of all documents contained in the index, along with neccessary popularity and relevancy information. It also works as an index queue, to keep track of updated documents and changes that would need to trigger reindexing.
Installing is/should be as simple as
docker-compose up -d.
But it helps to read documentation and dockerfiles to understand what goes on.
For testing, only requirement is golang installed.
go run sibyl.go db.go would get you an api running with sqlite backends for koha and sibyl.
For running elasticsearch locally you will need to increase OS vm max_map size:
sudo sysctl -w vm.max_map_count=262144
A simplified schema over the indexer and popularity db