Activate/deactivate morphology options at search time?

Because the stem_en and soundex morphology options return a surfeit of junk results, I would like them both to be disabled by default, but independently enablable at search time.

Am I correct in understanding that there is no way to specify these as options within the search query of a single index, but that instead, I need to create (and update) four separate indexes in order to provide this functionality? (One index with just stem_en enabled, one index with just soundex enabled, one index with both enabled, and one index with neither enabled?)

I am aware of the index_exact_words=1 index setting and the exact form modifier =, but I want to do the opposite: make the exact form the default search, but add semantic fuzziness as an option.

you could only use expand_keywords=exact query option but there is no way to disable morphology transformation at query time

You could do that by adding exact modifier to your terms at the query by hand

I guess I can do the functionality inversion with some PHP logic:

$search_input = explode(' ', str_replace($illegal_search_characters, '', $search_string));
$relaxed = FALSE;
foreach ($search_input as $key => $search_term) {
  if ($search_term[0] == '@') {
    $relaxed = TRUE;
  } else if ($search_term[0] == '~') {
    $search_input[$key] = substr($search_term, 1);
  } else if ((ctype_alpha($search_term[0]) || ctype_digit($search_term[0]) || $search_term[0] == '"') &&  $search_term != 'MAYBE' && substr($search_term, 0, 4) != 'NEAR' && substr($search_term, 0, 7) != 'NOTNEAR' && substr($search_term, 0, 8) != 'SENTENCE' && substr($search_term, 0, 9) != 'PARAGRAPH' && substr($search_term, 0, 4) != 'ZONE') {
    $search_input[$key] = '='.$search_term;
$search_string = implode(' ', $search_input);
if ($relaxed) $search_string = '@@relaxed '.$search_string;