Design and implementation of a compatibility algorithm for a computer configurator
Willför, Benjamin (2025)
Willför, Benjamin
2025
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:amk-2025061122572
https://urn.fi/URN:NBN:fi:amk-2025061122572
Tiivistelmä
Custom-built computers often outperform mass-produced systems at similar prices, yet selecting compatible parts remains daunting for non-experts. This thesis aims to design and implement an automated configurator that translates a user's budget and qualitative preferences into a compatible list of parts. The implementation answers a recognized gap in earlier work. Existing online tools focus on enthusiast markets and fail to accommodate regular users.
Component data scraped from a major Finnish retailer was cleansed, stored in SQLite, migrated to MySQL, and indexed in OpenSearch with custom analyzers and derived performance fields. A Node.js backend builds layered OpenSearch queries that blend fuzzy matching, weighted boosts, and function-score logic, while a constraint engine enforces sockets, form factors, and power limits across three passes. Post-processing ranks candidates, normalizes scores, and injects controlled randomness to avoid repetitive outputs.
On a 10 000-item dataset, the system generated fully compatible builds for nearly all preference sets, showing that open-source search combined with declarative constraints can produce a robust, user-friendly configurator. Expanding the catalogue remains as future work, but the prototype already offers a practical, extensible foundation for digital commerce and support.
Component data scraped from a major Finnish retailer was cleansed, stored in SQLite, migrated to MySQL, and indexed in OpenSearch with custom analyzers and derived performance fields. A Node.js backend builds layered OpenSearch queries that blend fuzzy matching, weighted boosts, and function-score logic, while a constraint engine enforces sockets, form factors, and power limits across three passes. Post-processing ranks candidates, normalizes scores, and injects controlled randomness to avoid repetitive outputs.
On a 10 000-item dataset, the system generated fully compatible builds for nearly all preference sets, showing that open-source search combined with declarative constraints can produce a robust, user-friendly configurator. Expanding the catalogue remains as future work, but the prototype already offers a practical, extensible foundation for digital commerce and support.
