Skip to main content

Dynamic Facets

Dynamic facets automatically show the most relevant filters for each query, category, or user segment, ensuring users see the filters that matter most for their search.

Overview​

Instead of showing the same facets for every search, dynamic facets adapt to show the most relevant filters based on the query, category, user context, and available products.

Dynamic Facet Strategies​

Query-Based Facets​

Show facets relevant to the search query:

{
"dynamic_facet_strategy": "query_based",
"rules": {
"running shoes": {
"facets": ["brand", "size", "color", "price", "gender"]
},
"laptops": {
"facets": ["brand", "price", "screen_size", "ram", "storage"]
},
"dresses": {
"facets": ["size", "color", "style", "price", "occasion"]
}
}
}

Category-Based Facets​

Show facets relevant to the category:

{
"dynamic_facet_strategy": "category_based",
"rules": {
"electronics": {
"facets": ["brand", "price", "features", "warranty"]
},
"clothing": {
"facets": ["size", "color", "brand", "material", "price"]
},
"home": {
"facets": ["room", "style", "color", "material", "price"]
}
}
}

Product-Based Facets​

Show facets based on products in results:

{
"dynamic_facet_strategy": "product_based",
"min_products_per_facet": 5,
"max_facets": 8,
"relevance_threshold": 0.3
}

Only show facets that have at least 5 products and meet relevance thresholds.

Facet Relevance Scoring​

Score facets by relevance:

{
"facet_relevance_scoring": {
"factors": [
{
"factor": "product_count",
"weight": 0.4
},
{
"factor": "query_relevance",
"weight": 0.3
},
{
"factor": "user_preference",
"weight": 0.2
},
{
"factor": "business_priority",
"weight": 0.1
}
]
}
}

Context-Aware Facets​

Adjust facets based on user context:

{
"context_aware_facets": {
"mobile": {
"max_facets": 5,
"prioritize": ["price", "brand", "rating"]
},
"desktop": {
"max_facets": 10,
"show_all": true
},
"new_user": {
"facets": ["price", "rating", "brand"],
"simplified_labels": true
}
}
}

ML-Powered Facet Selection​

Use machine learning to select optimal facets:

{
"ml_facet_selection": {
"enabled": true,
"model": "facet_selector_v1",
"features": [
"query_text",
"category",
"product_distribution",
"user_history",
"facet_usage_history"
]
}
}

Facet Value Filtering​

Only show facet values that make sense:

{
"facet_value_filtering": {
"enabled": true,
"min_products_per_value": 2,
"hide_empty_values": true,
"hide_single_value_facets": true
}
}

Best Practices​

  1. Start with defaults: Have sensible default facets, then customize
  2. Test relevance: Ensure dynamic facets are actually more relevant
  3. Monitor performance: Track how dynamic facets affect conversion
  4. Balance flexibility: Don't change facets too dramatically
  5. Consider context: Adjust facets for device, user type, etc.
  6. Use ML carefully: Validate ML-selected facets before deploying
  7. Maintain consistency: Keep some consistency across similar queries