database design – Database structure and search with weighted ratings

Suppose the following structure. For each pair of items and categories, we have a ranking (between 0 and 10)

item_id | category_id | Evaluation
-------- + ------------- + -------
1 | 1 | 2
1 | 2 | ten
2 | 1 | 6
2 | 2 | 6

Now, I want to find the elements that best fit a search pattern (weighted categories), for example. category_1 = 5 and category_2 = 4.
By hand, I would calculate scores like this:

element 1: 5 * 2 + 4 * 10 = 10 + 40 = 50
element 2: 5 * 6 + 4 * 6 = 30 + 24 = 54

Based on this search pattern, item 2 would get a better score. In the end, I want to implement this with Java JPA and a MySQL database (migration to PostgreSQL as part of the planning), but I hope to address this problem regardless of the database. Does this model have a specific name (to know more and better mark this question)?
What would be the best (fast) approach to getting results with a query? Categories are rather slow (between 15 and 20), but additional categories can be added. The number of items is> 10,000.

I am not attached to the data structure above, so if one can suggest a better alternative, I am open to that.