private async Task<Dictionary<string, int>> getProductAttributeFacets(string query, string facetAttribute, IProductFilter filter = null, params string[] childFacets)
		{
			var algoliaQuery = new Algolia.Search.Query(query);
			algoliaQuery = getFilteredProductQuery(algoliaQuery, filter, new string[] {facetAttribute}.Concatenate(childFacets));
			algoliaQuery.SetNbHitsPerPage(0);
			algoliaQuery.SetFacets(new string[] {facetAttribute});
			var result = await _productIndex.SearchAsync(algoliaQuery);
			try
			{
				var facets = result["facets"][facetAttribute].ToObject<Dictionary<string, int>>();
				return facets;
			}
			catch
			{
			}
			return null;
		}