We cannot be listing posts that are not public through the search. I cannot imagine that handling this well cannot be done with sphinx, but if it cannot be done in any one of the supported search backends, remove the post from the search index when it is soft-deleted.