You are here

interface SolrBackendInterface in Search API Solr 8.2

Same name and namespace in other branches
  1. 8.3 src/SolrBackendInterface.php \Drupal\search_api_solr\SolrBackendInterface
  2. 8 src/SolrBackendInterface.php \Drupal\search_api_solr\SolrBackendInterface
  3. 4.x src/SolrBackendInterface.php \Drupal\search_api_solr\SolrBackendInterface

Defines an interface for Solr search backend plugins.

It extends the generic \Drupal\search_api\Backend\BackendInterface and covers additional Solr specific methods.

Hierarchy

Expanded class hierarchy of SolrBackendInterface

All classes that implement SolrBackendInterface

8 files declare their use of SolrBackendInterface
LocalActionAccessCheck.php in src/Access/LocalActionAccessCheck.php
SearchApiSolrBackend.php in src/Plugin/search_api/backend/SearchApiSolrBackend.php
SearchApiSolrTest.php in tests/src/Kernel/SearchApiSolrTest.php
search_api_solr.module in ./search_api_solr.module
SolrAdminAccessCheck.php in modules/search_api_solr_admin/src/Access/SolrAdminAccessCheck.php

... See full list

File

src/SolrBackendInterface.php, line 17

Namespace

Drupal\search_api_solr
View source
interface SolrBackendInterface extends BackendInterface {

  /**
   * Creates a list of all indexed field names mapped to their Solr field names.
   *
   * The special fields "search_api_id" and "search_api_relevance" are also
   * included. Any Solr fields that exist on search results are mapped back to
   * to their local field names in the final result set.
   *
   * @param \Drupal\search_api\IndexInterface $index
   *   The Search Api index.
   * @param bool $reset
   *   (optional) Whether to reset the static cache.
   *
   * @see SearchApiSolrBackend::search()
   */
  public function getSolrFieldNames(IndexInterface $index, $reset = FALSE);

  /**
   * Returns the Solr connector used for this backend.
   *
   * @return \Drupal\search_api_solr\SolrConnectorInterface
   *
   * @throws \Drupal\search_api\SearchApiException
   */
  public function getSolrConnector();

  /**
   * Retrieves a Solr document from an search api index item.
   *
   * @param \Drupal\search_api\IndexInterface $index
   *   The search api index.
   * @param \Drupal\search_api\Item\ItemInterface $item
   *   An item to get documents for.
   *
   * @return \Solarium\QueryType\Update\Query\Document\Document
   *   A solr document.
   */
  public function getDocument(IndexInterface $index, ItemInterface $item);

  /**
   * Retrieves Solr documents from search api index items.
   *
   * @param \Drupal\search_api\IndexInterface $index
   *   The search api index.
   * @param \Drupal\search_api\Item\ItemInterface[] $items
   *   An array of items to get documents for.
   * @param \Solarium\QueryType\Update\Query\Query $update_query
   *   The existing update query the documents should be added to.
   *
   * @return \Solarium\QueryType\Update\Query\Document\Document[]
   *   An array of solr documents.
   */
  public function getDocuments(IndexInterface $index, array $items, UpdateQuery $update_query = NULL);

  /**
   * Extract a file's content using tika within a solr server.
   *
   * @param string $filepath
   *   The real path of the file to be extracted.
   *
   * @return string
   *   The text extracted from the file.
   */
  public function extractContentFromFile($filepath);

  /**
   * Returns the targeted content domain of the server.
   *
   * @return string
   */
  public function getDomain();

  /**
   * Indicates if the Solr server uses a managed schema.
   *
   * @return bool
   *   True if the Solr server uses a managed schema, false if the Solr server
   *   uses a classic schema.
   */
  public function isManagedSchema();

  /**
   * Returns a ready to use query string to filter results by index and site.
   *
   * @param \Drupal\search_api\IndexInterface $index
   *
   * @return string
   */
  public function getIndexFilterQueryString(IndexInterface $index);

  /**
   * Executes a streaming expression.
   *
   * @param \Drupal\search_api\Query\QueryInterface $query
   *
   * @return \Solarium\QueryType\Stream\Result
   *
   * @throws \Drupal\search_api\SearchApiException
   * @throws \Drupal\search_api_solr\SearchApiSolrException
   */
  public function executeStreamingExpression(QueryInterface $query);

  /**
   * Executes a graph streaming expression.
   *
   * @param \Drupal\search_api\Query\QueryInterface $query
   *
   * @return \Solarium\QueryType\Graph\Result
   *
   * @throws \Drupal\search_api\SearchApiException
   * @throws \Drupal\search_api_solr\SearchApiSolrException
   */
  public function executeGraphStreamingExpression(QueryInterface $query);

  /**
   * Apply any finalization commands to a solr index.
   *
   * Only if globally configured to do so and only the first time after changes
   * to the index from the drupal side.
   *
   * @param \Drupal\search_api\IndexInterface $index
   *
   * @throws \Drupal\search_api_solr\SearchApiSolrException
   */
  public function finalizeIndex(IndexInterface $index);

}

Members

Namesort descending Modifiers Type Description Overrides
BackendInterface::getServer public function Retrieves the server entity for this backend. 1
BackendInterface::postInsert public function Reacts to the server's creation. 1
BackendInterface::postUpdate public function Notifies the backend that its configuration was updated. 1
BackendInterface::preDelete public function Notifies the backend that the server is about to be deleted. 1
BackendInterface::preUpdate public function Notifies the backend that its configuration is about to be updated. 1
BackendInterface::setServer public function Sets the server entity for this backend. 1
BackendSpecificInterface::addIndex public function Adds a new index to this server. 2
BackendSpecificInterface::deleteAllIndexItems public function Deletes all the items from the index. 4
BackendSpecificInterface::deleteItems public function Deletes the specified items from the index. 4
BackendSpecificInterface::getBackendDefinedFields public function Provides information on additional fields made available by the backend. 2
BackendSpecificInterface::getDiscouragedProcessors public function Limits the processors displayed in the UI for indexes on this server. 2
BackendSpecificInterface::getSupportedFeatures public function Returns all features that this backend supports. 2
BackendSpecificInterface::indexItems public function Indexes the specified items. 4
BackendSpecificInterface::isAvailable public function Returns a boolean with the availability of the backend. 2
BackendSpecificInterface::removeIndex public function Removes an index from this server. 2
BackendSpecificInterface::search public function Executes a search on this server. 4
BackendSpecificInterface::supportsDataType public function Determines whether the backend supports a given add-on data type. 2
BackendSpecificInterface::updateIndex public function Notifies the server that an index attached to it has been changed. 2
BackendSpecificInterface::viewSettings public function Returns additional, backend-specific information about this server. 2
ConfigurableInterface::defaultConfiguration public function Gets default configuration for this plugin. 11
ConfigurableInterface::getConfiguration public function Gets this plugin's configuration. 12
ConfigurableInterface::setConfiguration public function Sets the configuration for this plugin instance. 12
ConfigurablePluginInterface::getDescription public function Returns the plugin's description. 1
ConfigurablePluginInterface::label public function Returns the label for use on the administration pages. 1
ConfigurablePluginInterface::onDependencyRemoval public function Informs the plugin that some of its dependencies are being removed. 1
ContainerFactoryPluginInterface::create public static function Creates an instance of the plugin. 112
DependentPluginInterface::calculateDependencies public function Calculates dependencies for the configured plugin. 19
DerivativeInspectionInterface::getBaseId public function Gets the base_plugin_id of the plugin instance. 1
DerivativeInspectionInterface::getDerivativeId public function Gets the derivative_id of the plugin instance. 1
HideablePluginInterface::isHidden public function Determines whether this plugin should be hidden in the UI. 1
PluginInspectionInterface::getPluginDefinition public function Gets the definition of the plugin implementation. 4
PluginInspectionInterface::getPluginId public function Gets the plugin_id of the plugin instance. 2
SolrBackendInterface::executeGraphStreamingExpression public function Executes a graph streaming expression. 1
SolrBackendInterface::executeStreamingExpression public function Executes a streaming expression. 1
SolrBackendInterface::extractContentFromFile public function Extract a file's content using tika within a solr server. 1
SolrBackendInterface::finalizeIndex public function Apply any finalization commands to a solr index. 1
SolrBackendInterface::getDocument public function Retrieves a Solr document from an search api index item. 1
SolrBackendInterface::getDocuments public function Retrieves Solr documents from search api index items. 1
SolrBackendInterface::getDomain public function Returns the targeted content domain of the server. 1
SolrBackendInterface::getIndexFilterQueryString public function Returns a ready to use query string to filter results by index and site. 1
SolrBackendInterface::getSolrConnector public function Returns the Solr connector used for this backend. 1
SolrBackendInterface::getSolrFieldNames public function Creates a list of all indexed field names mapped to their Solr field names. 1
SolrBackendInterface::isManagedSchema public function Indicates if the Solr server uses a managed schema. 1