public function addFacetedQuery($query, $index, array $keys)
    {
        $this->AddQuery($query, $index);

        //Clear Offset
        $currentOffset = $this->_offset;
        $mode = $this->_sort;
        $sortby = $this->_sortby;
        $limit = $this->_limit;

        $this->_offset = 0;
        $this->_sort = 0;
        $this->_sortby = '';
        $this->SetLimits(0, 999);

        foreach ($keys as $key) {
            $this->setGroupByAttr($key);
            $this->AddQuery($query, $index);
        }

        //Reset
        $this->_offset = $currentOffset;
        $this->_sort = $mode;
        $this->_sortby = $sortby;
        $this->SetLimits($currentOffset, $limit);
    }