Search results showing nodes which are already under NODE_ACCESS_DENY In Drupal 7, I have some nodes that are restricted access for anonymous user. I implemented this using hook_node_access where if the user_is_anonymous and if the operation is View, I am giving NODE_ACCESS_DENY.

Now, how can I restrict these pages from showing in search results page for anonymous user?
You must flush the search cache after you have changed node access records.