Me and Mohammed investigated this.
1. I personally tested your duplicator with Views 2.2.1 and Types 2.2.2 and it does work exactly the same as now.
Hence, either you updated from a version older than September 27, 2016, or this did not use to work differently.
I assume, according your description, you probably updated from an even younger version.
This seems to have caused a corruption of the data stored.
2. With the current stable versions, using your duplicator, Mohammed crafted a brilliant solution elaborated below.
I tested it according your issue description and could find the problem solved.
I might miss something - please can you test the solution as well (on a Test Site) and let me know if we need to add more items to the Code?
As you will see we included only the one we found broken.
In case we missed some, let us know, we can adjust the script.
This solution would need to be applied to the Theme's Functions PHP File, to immediately re-power your website.
Given that it is not the first time we have issues with sites that use Checkboxes and updated from older versions, we will investigate this.
So, here the code that you need to add to your functions.php file. of your active theme:
add_action('init', 'fix_db');
function fix_db()
{
$neede_meta_keys = "'wpcf-instrument','wpcf-music-genres'"; //excluded metas ,'wpcf-artist-type','wpcf-country'
$post_ids = get_posts(array(
'numberposts' => -1, // get all posts.
'post_type' => 'artist',
'fields' => 'ids', // Only get post IDs
));
if (true) {
global $wpdb;
$post_ids = implode(',', $post_ids);
$sql = "SELECT meta_key, meta_value, post_id FROM $wpdb->postmeta WHERE post_id IN ($post_ids) and meta_key IN ($neede_meta_keys)";
$postmeta = $wpdb->get_results($sql, ARRAY_A);
if (!empty($postmeta)) {
foreach ($postmeta as $mKey => $mVal) {
$serialized_meta = unserialize($mVal['meta_value']);
$returned_options = [];
if (!is_array($serialized_meta)) continue;
foreach ($serialized_meta as $key => $value) {
if (is_array($value)) $returned_options[$key] = $value;
}
update_post_meta($postmeta[$mKey]['post_id'], $postmeta[$mKey]['meta_key'], $returned_options);
}
}
}
}
Then, navigate to the page with the search.
Then, remove the code and test the search.
Please let me know if this is working for you as well.
Thank you for the patience.