Details
-
Improvement
-
Status: Closed
-
Major
-
Resolution: Fixed
-
None
-
None
Description
The Query Elevation Component respects the fq parameter.
A document listed in elevate.xml or specified via the elevateIds parameter must match the provided filter queries in order to be included in the result set for a given query. Documents that don't match the filter queries will be excluded regardless of whether they are supposed to be "elevated."
In some cases, this behavior is desirable; in other cases, it is not. For example, an ecommerce landing page might filter products according to whether they are in stock (fq=inStock:true) but might wish to show certain promoted products regardless of inventory.
This ticket asks for an elevateFilteredDocs parameter that could be set to true to include elevated documents in the result set regardless of whether they match the provided filter queries. The default would be false, in accordance with the current behavior.
This parameter would allow elevated documents to "bypass" the provided filters, while keeping the filters in place for non-elevated documents.
From an implementation standpoint, this parameter could be supported with code in QueryElevationComponent#setQuery that updates the filter queries in similar way to how the main query is updated. When elevateFilteredDocs=true, each filter query would become a boolean "OR" of the original filter query with a second query matching the elevated documents by id.
Attachments
Issue Links
- links to