This code is actually preferred:
add_filter( 'generate_navigation_search_output', 'tu_wc_navigation_search' );
function tu_wc_navigation_search() {
printf(
'<form method="get" class="search-form navigation-search" action="%1$s">
<input type="search" class="search-field" value="%2$s" name="s" title="%2$s">
<input type="hidden" name="post_type" value="product">
</form>',
esc_url( home_url( '/' ) ),
esc_attr( get_search_query() ),
esc_attr_x( 'Search', 'label', 'generatepress' )
);
}
As for searching taxonomies, it might be worth checking out a plugin like this: https://wordpress.org/plugins/relevanssi/