Я пытаюсь построить систему фильтрации для продуктов.Продукты имеют много атрибутов, включая цену, размер (см) и количество сторон.Я хочу построить SQL-запрос, который всегда возвращает ALL продуктов, но упорядочивает их по тому, насколько близко они соответствуют критериям поиска.
Например, допустим, у меня есть следующие продукты:
Продукт A Цена: 250 Размер: 50 Сторон: 4
Продукт B Цена: 300 Размер: 60 Стороны: 3
Продукт C Цена: 200 Размер: 60 Стороны: 5
И имеют критерии поиска:
Цена: $ 210 - $ 260
Я хочу вернуть: продукт A, продукт C, продукт B
A - первый, потому что он соответствует всем критериям поиска.C опережает B, потому что 200 долларов ближе всего к диапазону 210-260 долларов, чем 300 долларов.
Это довольно простой случай, но поиск может включать любой атрибут (ы).
Алгоритм, который я имеюв моей голове делается своего рода расчет стандартного отклонения для каждого атрибута, который даст вам «оценку» того, насколько этот атрибут соответствует критериям поиска, эти оценки можно суммировать по продукту, чтобы получить общую оценку того, насколько релевантнопродукт есть.Это по правильному пути?
Я понимаю, что это довольно сложный вопрос, на самом деле я просто ищу какое-то руководство больше, чем что-либо другое.