Coveo Facet Slider Across Two Fields
We had a requirement that obviously could not be achieved using OOTB Facet Slider control.
We were aware of that and did know we need to do some customization. Just did not realize that there wont be any to none straight forward solution.
I came up with the below solution though was not heavily confident while re-iterating this to the team, just felt worth a shot.
Good news is after a lot gymnastics it did work.
Goal – Use Coveo Facet Slider on two fields on the same item.
Challenge – Coveo does not allow number based Multi Value Field on their Index, hidden challenge I can not base Facet Slider on a Multi Value String field either. So, I am at wall in both directions.
Solution – Fluke at first and reality the next
Below are the steps I did
1. Turn off Auto Max/Min Calculation on Coveo facet slider on the layout
We can have some livable manual entries for Max/Min on layout as they are required if not auto-generated, I will see what I can do here.
2. Next, grab Max/Min across all Neighborhood’s under the current metro page from back end
3. I overwrite the max/min of Coveo controls with this back end loaded Max/Min patching on to their exposed events.
4. Now, the filtering by default could be based on only one field(our challenge) –“In our case Maximum Neighborhood Price”
5 I will have to hijack the rest api call that Coveo makes on slider change to inject this expression along with others it does, so I do not interrupt the inner workings of Slider. Additional Detail: Used Disjunction available from Coveo query builder expressions