More advanced filters (e.g. filtering according to the descriptive words) require preprocessing to be done before they can be applied. Therefore, preprocessing has to be done before that portion of filtering. However, to make sure we are not preprocessing products that cannot possibly be paired with anything, the most basic filters that do not require any preprocessing (e.g. the price-based filtering) should be done beforehand.
Also make sure we are not preprocessing any product multiple times, which is the case now.
More advanced filters (e.g. filtering according to the descriptive words) require preprocessing to be done before they can be applied. Therefore, preprocessing has to be done before that portion of filtering. However, to make sure we are not preprocessing products that cannot possibly be paired with anything, the most basic filters that do not require any preprocessing (e.g. the price-based filtering) should be done beforehand. Also make sure we are not preprocessing any product multiple times, which is the case now.