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
- Start with defaults: Have sensible default facets, then customize
- Test relevance: Ensure dynamic facets are actually more relevant
- Monitor performance: Track how dynamic facets affect conversion
- Balance flexibility: Don't change facets too dramatically
- Consider context: Adjust facets for device, user type, etc.
- Use ML carefully: Validate ML-selected facets before deploying
- Maintain consistency: Keep some consistency across similar queries
Related Topics
- Facet Management - Configure facet behavior
- Personalization - User-specific experiences
- Search Analytics - Track facet effectiveness