Dirty hack, modify you search.php in child theme:
<?php if ( have_posts() ) {
global $wp_query;
if ($wp_query->post_count == 1) {
$product = wc_get_product( $wp_query->post );
if ( $product && $product->is_visible() ) {
wp_safe_redirect( get_permalink( $product->id ), 302 );
exit;
}
} else {
get_template_part('woocommerce/archive', 'product');
}
} else {
get_template_part('woocommerce/archive', 'product');
}
?>