2010-03-04 4 views
2

J'ai une base de données d'objets qui ont été affectés à plusieurs catégories. J'utilise la recherche sphinx pour rechercher les produits, mais j'aimerais aussi filtrer les résultats uniquement pour les objets qui correspondent à un tableau de catégories.Filtre de recherche Sphinx pour gérer les tableaux

+0

Le produit doit correspondre à une catégorie ou toutes les catégories le tableau? Et si le produit est dans les catégories x, y, z, w mais que le filtre est limité à x, y, z? –

+0

il doit correspondre à TOUT 1 des catégories passées, pas tous. – David

+0

Fondamentalement, si elle correspond à une ou plusieurs catégories, alors récupérez-la. – David

Répondre

1

Vous pouvez utiliser l'option SetFilter exclude pour résoudre ce problème.

Par exemple, vous avez les ID de catégorie suivants: 1,2,3,4,5 et vous devez effectuer une recherche dans la catégorie 1 ou 3.

$sphinx->SetFilter("category_id", (2,4,5), true); 
Code

ci-dessus va exclure des catégories de recherche 2,4 et 5, donc dans notre cas la recherche ne fonctionnera que dans la catégorie 1 et 3.