Don't index certain content types
You can only modify SQL queries that are tagged, which this one is not. Therefore you cannot use HOOK_query_alter() to do what you are trying to accomplish.

This is hacky, but the easiest way to do this might be to implement hook_module_implements_alter() and prevent the Node module's hook_update_index() implementation from firing. You can then copy the node_update_index() function to your custom module, obviously replacing "node" in the function name with the name of your custom module, and modifying only the query to exclude whatever node types you want.

/**
 * Implements hook_module_implements_alter().
 */
function mymodule_module_implements_alter(&amp;$implementations, $hook) {
  if ('update_index' == $hook) {
    unset($implementations['node']);
  }
}

/**
 * Implements hook_update_index().
 * 
 * @see node_update_index().
 */
function mymodule_update_index() {
  $limit = (int)variable_get('search_cron_limit', 100);

  $result = db_query_range( /* Your custom query here */ );

  foreach ($result as $node) {
    _node_index_node($node);
  }
}