By default, the WordPress search gives an omni-like search facility to WP Posts and Pages that should search any built-in WP content. This can be further extended through a plugin such as Relevanssi.
You can though, if I'm understanding you correctly, create a custom search form where you can dictate the fields available to search on.
You would do this first of all by creating a new file in your theme's root titled something like mysearch-searchform.php
. This is just a HTML form, so whatever you put in will work in theory. The one must that I'm aware of is a hidden field to tell WP what post type you want to search within. So you'd use something like:
<input type="hidden" name="search" value="mycpt">
To search for news posts only. So, you now have your custom search form, which you can call in your theme by using:
<?php get_template_part( 'mycpt', 'searchform' ); ?>
So, you have your custom form, and it's outputting onto your page. Now you need to deal with the results. For that you will look to your functions.php
where I use the below function to tell WP what results file to load depending on the search form used:
function load_search_template_results(){
if(isset($_GET['search'])) {
if( $_GET['search'] == 'mycpt' ) {
load_template( locate_template( 'mycpt-search-result.php' ));
} else {
load_template( locate_template( 'search.php' ));
}
}
}
add_action('init','load_search_template_results');
The page mycpt-search-result.php
is just a wp_query loop, looping through post data as required to tailor to your design.
Hope that puts you on the right track.