O MongoDB tem um post de arquitetura de referência para uma implementação de varejo que espelha o problema que você está tentando resolver. Ele também fala sobre indexação e exibição de uma pesquisa facetada com base na consulta de atributos de variantes. Acho que você encontraria informações altamente relevantes lá e um bom ponto de partida para resolver seu problema:
https ://www.mongodb.com/blog/post/retail-reference-architecture-part-1-building-flexible-searchable-low-latency-product