WP_Query : Search and Filter Using custom field AND/OR custom taxonomy

Maby this example can help:

<?php

global $wp_query; // get the global object

$thesearch = get_search_query(); // get the string searched

// merge them with one or several meta_queries to meet your demand
$args = array_merge( $wp_query->query, array( 
   'meta_query' => array(
    array(
        'key' => 'field_to_seach',
        'value' => $thesearch,
        'compare' => 'IN'
    )
)
    ));
query_posts( $args ); // alter the main query to include your custom parameters

?>

UPDATE:

This is realy bad practice but in the some custom works you can use it in some realy rare occasion.

Alos read this note:

Note: This function will completely override the main query and isn’t
intended for use by plugins or themes. Its overly-simplistic approach
to modifying the main query can be problematic and should be avoided
wherever possible. In most cases, there are better, more performant
options for modifying the main query such as via the ‘pre_get_posts’
action within WP_Query.

This must not be used within the WordPress Loop.

More about it here