Browse Source

first commit

main
Paul Pound 2 months ago
commit
0b5c3b51b3
  1. 5
      roblib_solr_query_alter.info.yml
  2. 4
      roblib_solr_query_alter.services.yml
  3. 40
      src/EventSubscriber/PostConvertedQueryEventSubscriber.php

5
roblib_solr_query_alter.info.yml

@ -0,0 +1,5 @@
name: 'Roblib Search API Solr Query Alter'
type: module
description: 'Implements preQuery event to alter Solr queries for Multisite search.'
core_version_requirement: '^10'
package: 'Custom'

4
roblib_solr_query_alter.services.yml

@ -0,0 +1,4 @@
services:
Drupal\roblib_solr_query_alter\EventSubscriber\PostConvertedQueryEventSubscriber:
tags:
- { name: 'event_subscriber' }

40
src/EventSubscriber/PostConvertedQueryEventSubscriber.php

@ -0,0 +1,40 @@
<?php
namespace Drupal\roblib_solr_query_alter\EventSubscriber;
use Drupal\advanced_search\AdvancedSearchQuery;
use Drupal\search_api_solr\Event\PostConvertedQueryEvent;
use Drupal\search_api_solr\Event\SearchApiSolrEvents;
use Symfony\Component\EventDispatcher\EventSubscriberInterface;
/**
* Subscribes to PostConvertedQueryEvents.
*
* @package Drupal\advanced_search\EventSubscriber
*/
class PostConvertedQueryEventSubscriber implements EventSubscriberInterface {
/**
* {@inheritdoc}
*/
public static function getSubscribedEvents() {
$events[SearchAPISolrEvents::POST_CONVERT_QUERY][] = ['alterSolariumQuery'];
return $events;
}
/**
* Alter the query.
*/
public function alterSolariumQuery(PostConvertedQueryEvent $event) {
//$search_api_query = $event->getSearchApiQuery();
$solarium_query = $event->getSolariumQuery();
$handler = $solarium_query->getHandler();
if($handler == 'select') {
$solarium_query->getFilterQuery('index_filter')
->setQuery('');
}
}
}
Loading…
Cancel
Save