commit
0b5c3b51b3
3 changed files with 49 additions and 0 deletions
@ -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' |
||||
@ -0,0 +1,4 @@
|
||||
services: |
||||
Drupal\roblib_solr_query_alter\EventSubscriber\PostConvertedQueryEventSubscriber: |
||||
tags: |
||||
- { name: 'event_subscriber' } |
||||
@ -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…
Reference in new issue