How can I increase the number of excerpts shown per result?
[Update] Figured it out.Here's the solution I found. Somebody much more experienced than I will probably come along and offer better ideas but this works for now.

Leave "Retrieve result data from Solr" and "Retrieve highlighted snippets" unchecked, and just edit solrconfig.xml to define your snippets parameters like so:

&lt;str name="hl"&gt;on&lt;/str&gt;
&lt;str name="hl.fl"&gt;fieldname&lt;/str&gt;
&lt;str name="hl.snippets"&gt;20&lt;/str&gt;


Now solr will return the specified snippets in the results even if Drupal doesn't do anything with them. I cobbled together a simple module that implements hook_search_api_solr_search_results_alter (found in search_api_solr.api.php) to grab the results and store them in the $_SESSION variable:

excerpted from the solr_snippets.module I Frankensteined together:

function solr_snippets_search_api_solr_search_results_alter(\Drupal\search_api\Query\ResultSetInterface $result_set, \Drupal\search_api\Query\QueryInterface $query, \Solarium\QueryType\Select\Result\Result $result) {

    if(!isset($_SESSION['solr_snippets'])) { 
        $_SESSION['solr_snippets'] = array(); 
        }
    $myResults = &amp; $_SESSION['solr_snippets'];
    $myResults = '';
    // Grab the result items
    $result_items = $result_set-&gt;getResultItems();
    // Grab the highlighted snippets
    $extra_data = $result_set-&gt;getExtraData('search_api_solr_response');
    $highlights = $extra_data['highlighting'];
    [ process the results here and load them back into $myResults ]
    }


Then they are picked up by a view field:

  public function render(ResultRow $values) {

    return [
        $build['search_results'] = [
           '#theme' =&gt; 'solr_snippets',
           '#results' =&gt; $_SESSION['solr_snippets'],
          ],
        ];    
  }


I also had to find a way to get the row count to the field template since it doesn't appear to be passed automatically. I didn't find the right way, but the method that worked for me was to implement hook_preprocess_views_view_field() and add it to the session variable:

function solr_snippets_preprocess_views_view_field(&amp;$variables) {
    $_SESSION['solr_snippets']['rowNum'] = $variables['row']-&gt;index;

}


That's it, works great and I can use the twig template to customize the SERP results. Credit to https://drupalium.com/articles/creating-custom-view-fields-programmatically for the basic module that I hacked apart to make this. Also Drupalize.me was a Godsend. 

Just to reiterate to anyone looking to do the same - what I did here was definitely not "best practice." Be careful and good luck!