Comment puis-je réinitialiser addAttributeToFilter dans Magento recherches

Je vais avoir des problèmes pour obtenir le addAttributeToFilter fonction dans une boucle à se comporter dans Magento. J'ai des données de test dans mon magasin, à l'appui de recherches pour l'ensemble des données suivantes;

$attributeSelections=array( array('size' => 44, 'color' => 67, 'manufacturer' => 17),
                        array('size' => 43, 'color' => 69, 'manufacturer' => 17),
                        array('size' => 42, 'color' => 70, 'manufacturer' => 17));

Et mon code à la recherche par le biais de ces combinaisons;

foreach ($attributeSelections as $selection) {
    $searcher = Mage::getSingleton('catalogsearch/advanced')->getProductCollection();
    foreach ($selection as $k => $v) {
        $searcher->addAttributeToFilter("$k", array('eq' => "$v"));
        echo "$k: $v<br />";
    }
    $result=$searcher->getData();
    print_r($result);
}

Cette boucle donne les résultats suivants (un peu juste pour veiwing plaisir);

size: 44
color: 67
manufacturer: 17
Array ( [0] => Array ( [entity_id] => 2965 [entity_type_id] => 4 [attribute_set_id] => 28 [type_id] => simple [sku] => 1006-0001 [size] => 44 [color] => 67 [manufacturer] => 17 ) ) 

size: 43
color: 69
manufacturer: 17
Array ( [0] => Array ( [entity_id] => 2965 [entity_type_id] => 4 [attribute_set_id] => 28 [type_id] => simple [sku] => 1006-0001 [size] => 44 [color] => 67 [manufacturer] => 17 ) ) 

size: 42
color: 70
manufacturer: 17
Array ( [0] => Array ( [entity_id] => 2965 [entity_type_id] => 4 [attribute_set_id] => 28 [type_id] => simple [sku] => 1006-0001 [size] => 44 [color] => 67 [manufacturer] => 17 ) ) 

Donc ma boucle est la fonction et la génération de la recherche. Toutefois, les valeurs de la fed en addAttributeToFilter sur la première itteration de la boucle semblent rester stockées pour chaque recherche.
J'ai essayé de compensation de mon objet de recherche, par exemple, la fonction unset($recherche) et unset($result). J'ai aussi essayé de magento fonctions telles que getNewEmptyItem(), resetData(), distinct() et clear() mais aucun n'a l'effet désiré.

Fondamentalement, ce que je suis en train de faire est de vérifier les produits dupliqués avant mon script tente d'en programmant la création d'un produit avec ces attribut combinaisons. Le tableau de choix d'attributs peuvent être de tailles variées, d'où la nécessité d'une boucle.

Je serais très appreiciative si quelqu'un pourrait être en mesure de jeter un peu de lumière sur mon problème.

OriginalL'auteur Bobby | 2010-04-23