Forked from T250812: Deal with dropping of Global CirrusSearch class
It's awkward that we basically end up doing new $wgSearchType() in PHP code to instantiate the class for the search, expecting a 1:1 mapping between the value set in $wgSearchType/$wgSearchTypeAlternatives to be a PHP class
We need some way of decoupling/mapping this
Use case is for switching from the global CirrusSearch class in T250812: Deal with dropping of Global CirrusSearch class to the namespaced CirruSearch\CirrusSearch without necessarily having to change $wgSearchType in config... If there was some way to tell MW that for $wgSearchType 'CirrusSearch' to use a mapped class name, rather than instantiating the text in the string
Either potentially a mapping variable that CirrusSearch can set in extension.json ('cirrussearch' => 'CirruSearch\CirrusSearch'), or updating $wgSearchType/$wgSearchTypeAlternatives to take a similar format if a key and value is provided, instantiate value for the key, and falling back (and deprecate?) the non key => value format