Если в данном случае за релевантность сойдет понятие «количество совпавших названий характеристик из запроса», то можно сделать что-то типа этого:
SELECT…
FROM products
WHERE (name_product = 'кирпич' OR name_product = 'красный')
ORDER BY (
SELECT count(*) FROM features WHERE product.id=features.p_id AND (name_feature = 'кирпич' OR name_feature = 'красный')
Правда работать это будет, наверное, не очень быстро. Поэтому, мне кажется, лучше при изменении характеристик добавлять их названия в поле товара и искать текстовым поиском