Have you looked at using virtual replicas (https://www.algolia.com/doc/guides/managing-results/refine-r...) at all? They don't increase the number of records as they use the same underlying data.