Any ideas for bypassing max 250 facet limit

We have an engine containing products with multiple fields. One of the fields is called filter_keys and contains a list of all the filters that apply to that particular product.
E.g. For a pair of jeans it would contain “brand-levis, color-blue, category-pants, type-jeans, fabric-cotton”
If we do a query to filter all pants we can filter on “category-pants”. We get the results and a combination of all other possible facets. Facets in this case would be “brand-levis, color-blue, type-jeans, fabric-cotton” for this product and added values coming from other results.
In the Frontend we group all the facets and show each value as an checkbox to refine the search.
So if the result set contains 3 other colors of pants we would show the user a list of red / blue / black / brown checkboxes.
This system works great, but we are facing a challenge due to the limit of facets returning.

The max amount of facets returning for a search is 250. This means if we do a product search without any query or filtering we would expect to get around 1000 facets back (might still grow) but get only 250.
So if we take brands as an example we only get back 4 brands where we expect 25.
We have considered splitting the filters in groups so we reduce the umber of facets per field but that means that we create a much tighter relation between filters and the schema so changes in the filters will become more impactful.

Does anybody have a suggested solution on this?
Is there a way to increase this limit, maybe temporary until we get a more permanent solution?
Do you know how it is determined what facets are being cut off if there are more than 250?

Hey Ralph!

The configuration property you're looking for is app_search.engine.total_facet_values_returned.limit, introduced in App Search 7.7. It defaults to 250 and increasing it will likely impact performance.

I wont spend too much time mentioning the longterm approach that ensures performance would be to separate out truly different facets into their own fields. It seems like you're already considering it.

I hope this helps!


Works like a charm!! Thanks a lot Ross