What content types are shown at a search page?

By default it is usually posts and pages, but, you can modify this several ways

URLs

example.com/?s=test will search for the term test in posts and pages, but, example.com/?s=test&post_type=product will search posts of the type product for the term test.

In the same way appending ?s=term to your post type archive URL will search that archive for that term, as it will by appending it to various other URLs

Query filters

You can modify the following code to do the post type adjustment automatically without needing the above change:

function filter_search($query) {
    if ($query->is_search) {
        $query->set('post_type', array('post', 'page', 'customposttype'));
    };
    return $query;
};
add_filter('pre_get_posts', 'filter_search');

Some people advise that you add a query_posts line above your post loop in your search template. I advise against this as this means an additional unnecessary database query, and it overrides any filters and hooks that try to add features or improve the search query

Specific individual Search for individual custom post types

See here:

http://wpsnipp.com/index.php/template/create-multiple-search-templates-for-custom-post-types/