Hi there,
This is how I approach option-set filtering, and admittedly there may be an easier way, but this is what I found and it works quite fast, without any advanced filtering.
I treat each option-set as a separate URL parameter, so in my use-case I’m using recipes, and the option sets are ‘Allergens’ (Gluten, Dairy, etc) and ‘Characteristics’ (Sweet, Fruity, etc). Each can have multiples chosen. When filters are selected, I send them to the URL parameter like this:
Multidropdown’s Characteristic’s value:format as text. Under Format as Text, I choose to show the Display, and my delimiter I use an underscore, mostly because I know I don’t use it elsewhere so I won’t have any issues splitting later on.
This is how it shows up in the URL:
&characteristics=Fruity_Minty&allergens=Peanuts_Soybeans
Now here’s where my workaround comes in- for each Option Set, I have a hidden repeating group of Type Text. For Characteristics, the RG data source is Get characteristics from page URL (type text):split by _
I then use RepeatingGroup Tools by BDK: RepeatingGroup Tools ( bdk ) Plugin | Bubble
To use this plugin, I place an RG Extractor in the Repeating Group I described above, give it an extractor name (something unique I can remember so I can reference it in a bit): ‘URL Characteristics’. Cell_index: current cell's index.
Column 1: Current Cell's Text.
Now this element will live in this repeating group, and grab each text element that has been pulled to the RG from the URL.
Outside the RG, elsewhere on the page, but also hidden, you can now place the RG Data piece of the BDK Repeating Group Tools plugin element. On this one, remember to give the Extractor Name the same thing (‘URL Characteristics’) so it knows which RG Extractor it’s pulling data from. Here’s the magic: for Column 1 datatype, instead of ‘Text’, choose ‘Characteristics’. This is now effectively converting the list of text from a URL into a repeating group as type text, running through this plugin, and coming out the other side as a list of Options, matched by each option’s Display.
Now that we’ve converted a URL into a list of options, there’s one final step that I use to filter / constrain my results efficiently and without any advanced filters. Again, I recognize this may be arduous so I welcome any other thoughts on this or workarounds anyone else has!
On my main repeating group, the one actually displaying the filtered results (Recipes), I have my Data Source set just Search for Recipes), and my constraints work like this: Characteristics contains ‘RG Data’s Column 1 list: Item #1’, Characteristics contains ‘RG Data’s Column 1 list: Item #2’, Characteristics contains ‘RG Data’s Column 1 list: Item #3’, etc.’ Create as many as you anticipate (in my use-case, I only allow up to 6 characteristics to be chosen, so I don’t need more than 6. And there are 9 main allergens in US food regulations, so I use 9 on Allergens)
And that’s how I search for an Option Set quickly, without using ‘:filtered’.