Query Component Time Skew Detection
infolatencyUpdated Mar 19, 2025
Breaking down query time by component (QParser, FacetComponent, HighlightComponent) reveals which specific operation is expensive, enabling targeted optimization rather than generic query tuning.
Sources
How to detect:
Enable debugQuery=true on slow queries to break down time by component. Compare component times across fast vs. slow queries. Look for disproportionate time in specific components (e.g., faceting taking >80% of query time).
Recommended action:
For expensive facets, switch to JSON Facets API if not already using it. For costly filters with functions, use post-filters with cost>100 and cache=false. For complex parsing, simplify query structure or use catch-all fields via copyField.