CloudSearch supports hiding out of stock products via Shopify smart collections. You could also hide any collection from the search using the same method.
Let's see how we can do this.
We have a product Oxford Shirt that is out of stock, but it's shown in the search on the first position.