/**
  * Set up spelling parameters.
  *
  * @param EventInterface $event Event
  *
  * @return EventInterface
  */
 public function onSearchPre(EventInterface $event)
 {
     if ($event->getParam('context') != 'search') {
         return $event;
     }
     $backend = $event->getTarget();
     if ($backend === $this->backend) {
         $params = $event->getParam('params');
         if ($params) {
             // Set spelling parameters when enabled:
             $sc = $params->get('spellcheck');
             if (isset($sc[0]) && $sc[0] != 'false') {
                 $this->active = true;
                 if (empty($this->dictionaries)) {
                     throw new \Exception('Spellcheck requested but no dictionary configured');
                 }
                 // Set relevant Solr parameters:
                 reset($this->dictionaries);
                 $params->set('spellcheck', 'true');
                 $params->set('spellcheck.dictionary', current($this->dictionaries));
                 // Turn on spellcheck.q generation in query builder:
                 $this->backend->getQueryBuilder()->setCreateSpellingQuery(true);
             }
         }
     }
     return $event;
 }
 /**
  * Set up highlighting parameters.
  *
  * @param EventInterface $event Event
  *
  * @return EventInterface
  */
 public function onSearchPre(EventInterface $event)
 {
     $backend = $event->getTarget();
     if ($backend === $this->backend) {
         $params = $event->getParam('params');
         if ($params) {
             // Set highlighting parameters unless explicitly disabled:
             $hl = $params->get('hl');
             if (!isset($hl[0]) || $hl[0] != 'false') {
                 $this->active = true;
                 $params->set('hl', 'true');
                 $params->set('hl.fl', $this->fieldList);
                 $params->set('hl.simple.pre', '{{{{START_HILITE}}}}');
                 $params->set('hl.simple.post', '{{{{END_HILITE}}}}');
                 // Turn on hl.q generation in query builder:
                 $this->backend->getQueryBuilder()->setCreateHighlightingQuery(true);
             }
         }
     }
     return $event;
 }