основная правка должна заключаться в изменении способа объединения результатов фильтрации разных полей. Например, если задан оператор AND, то все поля должны удовлетворять своим условиям, чтобы запись не была пропущена. Если OR — достаточно хотя бы одного.
В текущей логке если заданы 2 условия например цена < 1500 и количество < 2. логика не различает что должны выполнятся одновременно 2 условия.