Hi all,

I have an index with thousands of products with various fields (manufacturer, price, popularity, type, color, ...) and I want to guarantee at least one product by a particular manufacturer to be within the first 5 results.

The search is done mainly by using filter params and results are ordered by function e.g.: "product(price, popularity) asc" or by "discount desc"

And I need to guarantee that if there is any product matching the given filters made by a concrete manufacturer, then it will be on the 5th position at worst, even if the position by the order function is worse.

It seems to me that the Query elevation component is not the right thing for me. I don't know the query in advance (or the set of filter criteria) and I don't know concrete product that will be the best for the criteria within the order.

And also I don't think that I can construct a function with such requirements to use it directly for ordering the results.

Of course I can make a second query in case there is no desired product on the first page of results and put it there, but it requires additional request to solr and complicates results processing and further pagination.

Can anybody suggest any solution?

Thanks
Wenca

Reply via email to