2009-05-11 12 views
3

Compte tenu du scénario suivant:Filtrage solr facette dénombre

<field name="product_id" type="text" indexed="true" stored="true" multivalued="true"/> 
<field name="product_type" type="text" indexed="true" stored="true" multivalued="true"/> 

je veux obtenir compte facette du champ facette Product_ID filtré par product_type spécifique donné un ResultSet (pour obtenir ce que j'utilise requête de filtre etc ...)

Notez que ce que je veux est de filtrer les facettes compte, si bien:

  • Facet requête aide does'nt en raison de l'introduire une liste des résultats, des requêtes spécifiques de facette. (Ni requête de filtre ne)

  • Facet.prefix fait le genre de filtre que je veux, mais je ne sais pas comment l'utiliser dans ce scénario.

Remarque que je veux filtrer compter de productID qui correspond à la catégorie spécifique

<lst name="facet_fields"> 
    <lst name="productID"> 
     <int name="xHidyhuVZIUVVMfUJM8zd6">209</int> 
     <int name="34YFQf0F9kqP29SQgrmqI1">206</int> 
     <int name="m3wp9GS9Iweai0ftKLSlG">195</int> 
     <int name="aAwN5QFjQLxcrDWFiirjY2">169</int> 
     <int name="k405yG1RwRndI5T19dMO8">169</int> 
    </lst> 
</lst> 

Répondre

5

Pour autant que je sais que vous ne pouvez pas filtrer un nombre de facettes en utilisant un autre champ. facet.prefix ne fonctionne que sur le même champ que vous affûtez.

Je voudrais émettre une autre requête qui filtre le type de produit, juste pour obtenir le nombre de facettes que vous voulez, quelque chose comme: select?q=product_type:somecategory&rows=0&facet=true&facet.field=product_id