I remember reading a few years ago that most search engines use some tree based model. If that's the case, that means the idea of monotonic linear weights is not relevant.
So you can run your bulk-recomputing whenever you have spare capacity.
Stale rankings aren't great, but don't hurt that much. As long as your liveness is more frequently updated, so you don't send people to dead sites.
By this point, I can't imagine they haven't automatically balanced {revenueFromQuery} to {costOfQuery}.
No sense delivering hyperoptimized results if you lose money on generating them.
For example, we obviously want the most-viewed and most-bought products to rise to the top. However, we also expect there's an initial honeymoon period for many new products, where people want to see them but they don't have enough history yet to sway the popularity factor. So there's a non-linear term that looks kind of like
( weight_factor / (product_age_days * age_scale_constant) )