Q42 built a new search and recommendation system for Rijksmuseum's online collection, combining Elasticsearch for full-text search with Neo4j graph database for relationship-based browsing. The system transforms linked data from multiple museum collections (art, library, archive) into a unified model that enables faceted search, node-based exploration, and contextual recommendations. Key technical challenges included mapping complex SPARQL queries to simplified data models, handling densely connected nodes in the graph, and balancing performance between the two database systems. After launch, the team shifted more search functionality to Elasticsearch while keeping Neo4j for relationship-heavy tasks like generating node pages and recommendations.

20m read timeFrom engineering.q42.nl
Post cover image
Table of contents
From collection system to websiteSearching and browsing - The interfaceA first (big) search stepTextual search, relations and recommendationsEven more search optionsSearching and browsing - The data and technologyErvaren Android-developerErvaren iOS-developerErvaren Go developer Hue-platformAI-engineerFront-end developerReact Native-developerErvaren Python / Django developerAllround back-end developer (senior)Techlead / senior software engineerErvaren .NET back-end developerStageOpen sollicitatieSparql queries, graphs and relational databasesLessons learnedWhat lies aheadOne year later

Sort: