You are here

class Solr36Connector in Search API Solr 4.x

Class Solr36Connector.

Extends SolrConnectorPluginBase for Solr 3.6.

@package Drupal\sarch_api_solr_legacy\Plugin\SolrConnector

Plugin annotation


@SolrConnector(
  id = "solr_36",
  label = @Translation("Solr 3.6"),
  description = @Translation("Index items using a Solr 3.6 server.")
)

Hierarchy

Expanded class hierarchy of Solr36Connector

1 file declares its use of Solr36Connector
Solr36TestConnector.php in modules/search_api_solr_legacy/tests/modules/search_api_solr_legacy_test/src/Plugin/SolrConnector/Solr36TestConnector.php

File

modules/search_api_solr_legacy/src/Plugin/SolrConnector/Solr36Connector.php, line 23

Namespace

Drupal\search_api_solr_legacy\Plugin\SolrConnector
View source
class Solr36Connector extends SolrConnectorPluginBase {

  /**
   * {@inheritdoc}
   */
  public function defaultConfiguration() {
    return [
      'scheme' => 'http',
      'host' => '',
      'port' => 8983,
      'path' => '/',
      // Solr 3.6 doesn't have the core name in the path. But solarium 6 needs
      // it. The period is a workaround that gives us URLs like "solr/./select".
      'core' => '.',
      'skip_schema_check' => TRUE,
    ] + parent::defaultConfiguration();
  }

  /**
   * {@inheritdoc}
   */
  public function buildConfigurationForm(array $form, FormStateInterface $form_state) {
    $form = parent::buildConfigurationForm($form, $form_state);
    $form['core'] = [
      '#type' => 'value',
      '#value' => '.',
    ];
    $form['path'] = [
      '#type' => 'value',
      '#value' => '/',
    ];
    $form['workarounds']['skip_schema_check'] = [
      '#type' => 'value',
      '#value' => TRUE,
    ];
    $form['advanced']['jts'] = [
      '#type' => 'value',
      '#value' => FALSE,
    ];
    return $form;
  }

  /**
   * {@inheritdoc}
   */
  public function search(Query $query, ?Endpoint $endpoint = NULL) {
    $params = $query
      ->getParams();
    if (!isset($params['q.op'])) {
      $query
        ->addParam('q.op', 'OR');
    }
    return parent::search($query, $endpoint);
  }

  /**
   * {@inheritdoc}
   */
  public function pingServer() {
    return $this
      ->pingCore();
  }

  /**
   * {@inheritdoc}
   */
  public function getServerInfo($reset = FALSE) {
    return $this
      ->getCoreInfo($reset);
  }

  /**
   * {@inheritdoc}
   */
  public function reloadCore() {
    return FALSE;
  }

  /**
   * {@inheritdoc}
   */
  public function coreRestGet($path, ?Endpoint $endpoint = NULL) {
    if (preg_match('@^schema/([^/]+)@', $path, $matches)) {
      if ('fieldtypes' === $matches[1]) {
        return [
          'fieldTypes' => [
            'name' => 'Solr 3.6',
          ],
        ];
      }
    }
    return [];
  }

  /**
   * {@inheritdoc}
   */
  public function coreRestPost($path, $command_json = '', ?Endpoint $endpoint = NULL) {
    return [];
  }

  /**
   * {@inheritdoc}
   */
  public function serverRestGet($path) {
    return [];
  }

  /**
   * {@inheritdoc}
   */
  public function serverRestPost($path, $command_json = '') {
    return [];
  }

  /**
   * {@inheritdoc}
   */
  public function alterConfigFiles(array &$files, string $lucene_match_version, string $server_id = '') {
    parent::alterConfigFiles($files, $lucene_match_version, $server_id);
    if (version_compare($lucene_match_version, '4', '<')) {
      if (isset($files['solrconfig.xml'])) {
        $files['solrconfig.xml'] = str_replace('SEARCH_API_SOLR_SOLRCONFIG_INDEX', $files['solrconfig_index.xml'] ?? '', $files['solrconfig.xml']);
        $files['solrconfig.xml'] = str_replace('SEARCH_API_SOLR_SOLRCONFIG_EXTRA', $files['solrconfig_extra.xml'] ?? '', $files['solrconfig.xml']);
        unset($files['solrconfig_index.xml']);
        unset($files['solrconfig_extra.xml']);
      }
      if (isset($files['schema.xml'])) {
        $files['schema.xml'] = str_replace('SEARCH_API_SOLR_SCHEMA_EXTRA_FIELDS', $files['schema_extra_fields.xml'] ?? '', $files['schema.xml']);
        $files['schema.xml'] = str_replace('SEARCH_API_SOLR_SCHEMA_EXTRA_TYPES', $files['schema_extra_types.xml'] ?? '', $files['schema.xml']);
        unset($files['schema_extra_types.xml']);
        unset($files['schema_extra_fields.xml']);
      }
    }
  }

}

Members

Namesort descending Modifiers Type Description Overrides
ConfigurableInterface::getConfiguration public function Gets this plugin's configuration. 15
Solr36Connector::alterConfigFiles public function Alter the newly assembled Solr configuration files. Overrides SolrConnectorPluginBase::alterConfigFiles
Solr36Connector::buildConfigurationForm public function Form constructor. Overrides SolrConnectorPluginBase::buildConfigurationForm
Solr36Connector::coreRestGet public function Sends a REST GET request to the Solr core and returns the result. Overrides SolrConnectorPluginBase::coreRestGet
Solr36Connector::coreRestPost public function Sends a REST POST request to the Solr core and returns the result. Overrides SolrConnectorPluginBase::coreRestPost
Solr36Connector::defaultConfiguration public function Gets default configuration for this plugin. Overrides SolrConnectorPluginBase::defaultConfiguration
Solr36Connector::getServerInfo public function Gets information about the Solr server. Overrides SolrConnectorPluginBase::getServerInfo
Solr36Connector::pingServer public function Pings the Solr server to tell whether it can be accessed. Overrides SolrConnectorPluginBase::pingServer
Solr36Connector::reloadCore public function Reloads the Solr core. Overrides SolrConnectorInterface::reloadCore
Solr36Connector::search public function Executes a search query and returns the raw response. Overrides SolrConnectorPluginBase::search
Solr36Connector::serverRestGet public function Sends a REST GET request to the Solr server and returns the result. Overrides SolrConnectorPluginBase::serverRestGet
Solr36Connector::serverRestPost public function Sends a REST POST request to the Solr server and returns the result. Overrides SolrConnectorPluginBase::serverRestPost
SolrConnectorInterface::FINALIZE_TIMEOUT constant
SolrConnectorInterface::INDEX_TIMEOUT constant
SolrConnectorInterface::OPTIMIZE_TIMEOUT constant
SolrConnectorInterface::QUERY_TIMEOUT constant
SolrConnectorPluginBase::$eventDispatcher protected property The event dispatcher.
SolrConnectorPluginBase::$solr protected property A connection to the Solr server.
SolrConnectorPluginBase::adjustTimeout public function Sets a new timeout for queries, but not for indexing or optimization. Overrides SolrConnectorInterface::adjustTimeout
SolrConnectorPluginBase::alterConfigZip public function Alter the zip archive of newly assembled Solr configuration files. Overrides SolrConnectorInterface::alterConfigZip
SolrConnectorPluginBase::autocomplete public function Executes a search query and returns the raw response. Overrides SolrConnectorInterface::autocomplete
SolrConnectorPluginBase::connect protected function Prepares the connection to the Solr server.
SolrConnectorPluginBase::createClient protected function Create a Client.
SolrConnectorPluginBase::createEndpoint public function Creates an endpoint. Overrides SolrConnectorInterface::createEndpoint
SolrConnectorPluginBase::createSearchResult public function Creates a result from a response. Overrides SolrConnectorInterface::createSearchResult
SolrConnectorPluginBase::customizeRequest protected function Creates a CustomizeRequest object.
SolrConnectorPluginBase::execute public function Executes any query. Overrides SolrConnectorInterface::execute 3
SolrConnectorPluginBase::executeRequest public function Executes a request and returns the response. Overrides SolrConnectorInterface::executeRequest 3
SolrConnectorPluginBase::extract public function Executes an extract query. Overrides SolrConnectorInterface::extract
SolrConnectorPluginBase::getAutocompleteQuery public function Creates a new Solarium autocomplete query. Overrides SolrConnectorInterface::getAutocompleteQuery 1
SolrConnectorPluginBase::getConfigSetName public function Gets the name of the used configset. Overrides SolrConnectorInterface::getConfigSetName 1
SolrConnectorPluginBase::getContentFromExtractResult public function Gets the content from an extract query result. Overrides SolrConnectorInterface::getContentFromExtractResult
SolrConnectorPluginBase::getCoreInfo public function Gets information about the Solr Core. Overrides SolrConnectorInterface::getCoreInfo
SolrConnectorPluginBase::getCoreLink public function Returns a link to the Solr core, if the necessary options are set. Overrides SolrConnectorInterface::getCoreLink
SolrConnectorPluginBase::getDataFromHandler protected function Gets data from a Solr endpoint using a given handler.
SolrConnectorPluginBase::getEndpoint public function Returns an endpoint. Overrides SolrConnectorInterface::getEndpoint
SolrConnectorPluginBase::getEndpointUri protected function Gets a string representation of the endpoint URI.
SolrConnectorPluginBase::getExtractQuery public function Creates a new Solarium extract query. Overrides SolrConnectorInterface::getExtractQuery
SolrConnectorPluginBase::getFile public function Retrieves a config file or file list from the Solr server. Overrides SolrConnectorInterface::getFile
SolrConnectorPluginBase::getFinalizeTimeout public function Get the finalize timeout. Overrides SolrConnectorInterface::getFinalizeTimeout
SolrConnectorPluginBase::getIndexTimeout public function Get the index timeout. Overrides SolrConnectorInterface::getIndexTimeout
SolrConnectorPluginBase::getLuceneMatchVersion public function Gets the LuceneMatchVersion string. Overrides SolrConnectorInterface::getLuceneMatchVersion
SolrConnectorPluginBase::getLuke public function Gets meta-data about the index. Overrides SolrConnectorInterface::getLuke
SolrConnectorPluginBase::getMoreLikeThisQuery public function Creates a new Solarium more like this query. Overrides SolrConnectorInterface::getMoreLikeThisQuery 1
SolrConnectorPluginBase::getOptimizeTimeout public function Get the optimize timeout. Overrides SolrConnectorInterface::getOptimizeTimeout
SolrConnectorPluginBase::getQueryHelper public function Returns a Solarium query helper object. Overrides SolrConnectorInterface::getQueryHelper
SolrConnectorPluginBase::getSchemaTargetedSolrBranch public function Gets the Solr branch targeted by the schema. Overrides SolrConnectorInterface::getSchemaTargetedSolrBranch
SolrConnectorPluginBase::getSchemaVersion public function Gets the schema version number. Overrides SolrConnectorInterface::getSchemaVersion
SolrConnectorPluginBase::getSchemaVersionString public function Gets the full schema version string the core is using. Overrides SolrConnectorInterface::getSchemaVersionString
SolrConnectorPluginBase::getSelectQuery public function Creates a new Solarium update query. Overrides SolrConnectorInterface::getSelectQuery 1
SolrConnectorPluginBase::getServerLink public function Returns a link to the Solr server. Overrides SolrConnectorInterface::getServerLink
SolrConnectorPluginBase::getServerUri protected function Returns a the Solr server URI.
SolrConnectorPluginBase::getSolrBranch public function Gets the current Solr branch name. Overrides SolrConnectorInterface::getSolrBranch
SolrConnectorPluginBase::getSolrMajorVersion public function Gets the current Solr major version. Overrides SolrConnectorInterface::getSolrMajorVersion
SolrConnectorPluginBase::getSolrVersion public function Gets the current Solr version. Overrides SolrConnectorInterface::getSolrVersion
SolrConnectorPluginBase::getSpellcheckQuery public function Creates a new Solarium suggester query. Overrides SolrConnectorInterface::getSpellcheckQuery 1
SolrConnectorPluginBase::getStatsSummary public function Gets summary information about the Solr Core. Overrides SolrConnectorInterface::getStatsSummary 1
SolrConnectorPluginBase::getSuggesterQuery public function Creates a new Solarium suggester query. Overrides SolrConnectorInterface::getSuggesterQuery 1
SolrConnectorPluginBase::getTermsQuery public function Creates a new Solarium terms query. Overrides SolrConnectorInterface::getTermsQuery 1
SolrConnectorPluginBase::getTimeout public function Get the query timeout. Overrides SolrConnectorInterface::getTimeout
SolrConnectorPluginBase::getUpdateQuery public function Creates a new Solarium update query. Overrides SolrConnectorInterface::getUpdateQuery
SolrConnectorPluginBase::handleHttpException final protected function Converts a HttpException in an easier to read SearchApiSolrException.
SolrConnectorPluginBase::isCloud public function Returns TRUE for Cloud. Overrides SolrConnectorInterface::isCloud 1
SolrConnectorPluginBase::isJumpStartConfigSet public function Indicates if the Solr config-set is our jum-start config-set. Overrides SolrConnectorInterface::isJumpStartConfigSet
SolrConnectorPluginBase::optimize public function Optimizes the Solr index. Overrides SolrConnectorInterface::optimize
SolrConnectorPluginBase::pingCore public function Pings the Solr core to tell whether it can be accessed. Overrides SolrConnectorInterface::pingCore 1
SolrConnectorPluginBase::pingEndpoint public function Pings the Solr endpoint to tell whether it can be accessed. Overrides SolrConnectorInterface::pingEndpoint
SolrConnectorPluginBase::restRequest protected function Sends a REST request to the Solr server endpoint and returns the result.
SolrConnectorPluginBase::setConfiguration public function Sets the configuration for this plugin instance. Overrides ConfigurableInterface::setConfiguration 1
SolrConnectorPluginBase::setEventDispatcher public function Sets the event dispatcher. Overrides SolrConnectorInterface::setEventDispatcher
SolrConnectorPluginBase::submitConfigurationForm public function Form submission handler. Overrides PluginFormInterface::submitConfigurationForm
SolrConnectorPluginBase::update public function Executes an update query and applies some tweaks. Overrides SolrConnectorInterface::update
SolrConnectorPluginBase::useTimeout protected function Set the timeout.
SolrConnectorPluginBase::validateConfigurationForm public function Form validation handler. Overrides PluginFormInterface::validateConfigurationForm
SolrConnectorPluginBase::viewSettings public function Returns additional, connector-specific information about this server. Overrides SolrConnectorInterface::viewSettings
SolrConnectorPluginBase::__sleep public function