9 use Magento\Catalog\Model\ResourceModel\Product\Attribute\CollectionFactory;
    36     private $filterStrategy;
    41     private $aliasResolver;
    46     private $filtersExtractor;
    63         CollectionFactory $attributeCollectionFactory,
    70         if (
null === $filterStrategy) {
    73         if (
null === $aliasResolver) {
    76         if (
null === $filtersExtractor) {
    80         $this->filterStrategy = $filterStrategy;
    81         $this->aliasResolver = $aliasResolver;
    82         $this->filtersExtractor = $filtersExtractor;
    94         $filters = $this->filtersExtractor->extractFiltersFromQuery(
$request->getQuery());
    96             $alias = $this->aliasResolver->getAlias($filter);
    97             if (!array_key_exists(
$alias, $appliedFilters)) {
    98                 $isApplied = $this->filterStrategy->apply($filter, 
$select);
   100                     $appliedFilters[
$alias] = 
true;
   119         return $this->aliasResolver->getAlias($filter);
 
getMappingAlias(FilterInterface $filter)
addTables(Select $select, RequestInterface $request)
__construct(AppResource $resource, StoreManagerInterface $storeManager, CollectionFactory $attributeCollectionFactory, EavConfig $eavConfig=null, ScopeConfigInterface $scopeConfig=null, FilterStrategyInterface $filterStrategy=null, AliasResolver $aliasResolver=null, FiltersExtractor $filtersExtractor=null)