Catalogusinstellingen: Koppelingen – Elastic Search

Deze instellingen dienen altijd in samenspraak met een technisch consultant te worden aangepast. Zelfstandig aanpassingen doen in deze instelling kan leiden tot een niet goed functionerend portaal.

Elasticsearch is een document database met geavanceerde zoekmogelijkheden (full-text search engine, nosql database en analytics engine). Wij houden dus naast de SQL database nog een extra index bij in elasticsearch, en dat is hetgeen waar we in de catalogus doorheen zoeken. De index wordt periodiek door een job volledig herbouwd, maar vanaf Class 4.4 wordt een opleiding ook direct geherindexeerd wanneer je deze in de backoffice aanpast. Deze index wordt momenteel verder alleen gebruikt in de zoekinterface in de portal (via een Web API endpoint: CourseSearchController).

Wanneer een instantie van Elasticsearch wordt gestart, start er een node (server). Een verzameling van verbonden nodes wordt een cluster genoemd.

Wanneer je meerdere nodes hebt, verdeelt Elasticsearch de data over verschillende shards. Een shard is een gedeelte van de totale dataset, dus al je documenten worden verspreid over 1 node.
Hieronder kun je zien dat dat 1 node in een cluster uit 3 shards bestaat (standaard is dat 5).
Bij 2 verschillende nodes zal elastic search dezelfde shards replicaten en verspreiden over de 2 nodes.
Bij meer dan 3 nodes worden de shards verspreid over de verschillende nodes.

Herindexeren

Het is mogelijk om handmatig een herindexatie te forceren van Leeractiviteiten, Documenten en Uitgaven. Door deze herindexatie wordt de geselecteerde entiteit opnieuw geladen. Zo is het bijvoorbeeld mogelijk om de leeractiviteiten te herindexeren als een net aangemaakte leeractiviteit nog niet te zien is in de catalogus. Deze job wordt ook automatisch gedraaid maar kan dus handmatig versneld worden.