Допустим, у меня есть таблица MySQL, people
. Каждая запись содержит множество свойств, среди которых favourite_colour
, country
и age_group
.
Что я хотел бы сделать, так это получить записи из этой таблицы по их сходству с набором определенных параметров. Например, учитывая «красный», «США» и «18-25», лучшими результатами будут те записи, которые соответствуют всем трем. Это будут 100% совпадения.
Однако я также хотел бы получить записи, которые соответствуют любой комбинации двух параметров (совпадение 66%) или любому одному параметру (совпадение 33%). Кроме того, я хотел бы иметь возможность определять дополнительные точки сравнения (например, underwear_type
, marital_status
и т. д.).
Есть ли относительно эффективное решение этой проблемы?