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