Description
The configuration of UninvertingReader in SolrIndexSearch creates a global mapping for the directory for fields to uninvert. If docvalues are enabled on a field the creation of a new segment will cause the query to fail when faceting/sorting on the recently docvalue enabled field. This happens because the UninvertingReader is configured globally across the entire directory, and a single segment containing DVs for a field will incorrectly indicate that all segments contain DVs.
This patch addresses the incorrect behavior by determining the fields to be uninverted on a per-segment basis.
With the fix, it is still recommended that a reindexing occur as data loss will when a DV and non-DV segment are merged, SOLR-10046 addresses this behavior. This fix is to be a stop gap for the time between enabling docvalues and the duration of a reindex.