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