2013-10-06 6 views
0

Je suis à la recherche de produits et de variantes. Un produit peut avoir plusieurs variantes imbriquées. Exemple: 1 T-shirt peut être en 2 variantes, blanc pour 50 euros et vert pour 60 euros. C'est toujours le même produit et devrait être affiché une fois sur la page de résultats.Nombre incorrect de facettes imbriquées

Ceci est mon application:

{"product" => { "properties" => {"vendor_variants" => {"type" => "nested"}}}} 

Et ceci est la requête que je fais:

"query" => { 
    "filtered" => { 
     "query" => { 
     "match_all" => {} 
     }, 
     "filter" => { 
     "bool" => { 
      "must" => [ 
      { 
       "terms" => { 
       "categories" => [122] 
       } 
      } 
      ] 
     } 
     } 
    } 
    }, 
    "facets" => { 
    "brand" => { "terms" => {"field" => "filter_brand"} }, 
    "price_range" => { 
     "nested" => "vendor_variants", 
     "range" => { "field" => "price", "ranges" => [ {"to" => 2000}, {"from" => 2000, "to" => 5000} ] 
     } 
    } 
    } 

Cette requête produit 172 résultats. Mais les facettes des fourchettes de prix sont complètement fausses. Par exemple, il renvoie que pour 20-50 euros, il y a 422 résultats. Je crois que c'est parce qu'il compte chaque document vendor_variants imbriqué. Mais ce n'est pas ce dont j'ai besoin, j'en ai besoin pour ne compter que les principaux documents du produit.

Quel est le problème avec ma requête?

Répondre

1

Compris. Dans la cartographie pour le document imbriqué, je devais ajouter "include_in_parent" => true

Questions connexes