interface SolrBackendInterface in Search API Solr 4.x
Same name and namespace in other branches
- 8.3 src/SolrBackendInterface.php \Drupal\search_api_solr\SolrBackendInterface
- 8 src/SolrBackendInterface.php \Drupal\search_api_solr\SolrBackendInterface
- 8.2 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
- interface \Drupal\search_api_solr\SolrBackendInterface extends \Drupal\search_api\Backend\BackendInterface
Expanded class hierarchy of SolrBackendInterface
All classes that implement SolrBackendInterface
19 files declare their use of SolrBackendInterface
- BackendTrait.php in src/
Controller/ BackendTrait.php - BoostMoreRecent.php in src/
Plugin/ search_api/ processor/ BoostMoreRecent.php - IndexSolrMultisiteCloneForm.php in src/
Form/ IndexSolrMultisiteCloneForm.php - LocalActionAccessCheck.php in src/
Access/ LocalActionAccessCheck.php - SearchApiSolrAdminCommands.php in modules/
search_api_solr_admin/ src/ Commands/ SearchApiSolrAdminCommands.php
File
- src/
SolrBackendInterface.php, line 18
Namespace
Drupal\search_api_solrView source
interface SolrBackendInterface extends BackendInterface {
/**
* The current Solr schema version.
*
* @todo replace by an automatic detection when core provides module versions.
*/
const SEARCH_API_SOLR_SCHEMA_VERSION = '4.2.1';
/**
* The minimum required Solr schema version.
*/
const SEARCH_API_SOLR_MIN_SCHEMA_VERSION = '4.1.1';
/**
* The separator to indicate the start of a language ID.
*
* We must not use any character that has a special meaning within regular
* expressions. Additionally we have to avoid characters that are valid for
* Drupal machine names.
* The end of a language ID is indicated by an underscore '_' which could not
* occur within the language ID itself because Drupal uses lanague tags.
*
* @see http://de2.php.net/manual/en/regexp.reference.meta.php
* @see https://www.w3.org/International/articles/language-tags/
*/
const SEARCH_API_SOLR_LANGUAGE_SEPARATOR = ';';
const FIELD_PLACEHOLDER = 'FIELD_PLACEHOLDER';
/**
* 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.
*
* @throws \Drupal\search_api\SearchApiException
*
* @see SearchApiSolrBackend::search()
*/
public function getSolrFieldNames(IndexInterface $index, $reset = FALSE);
/**
* Gets a language-specific mapping from Drupal to Solr field names.
*
* @param string $language_id
* The language to get the mapping for.
* @param \Drupal\search_api\IndexInterface $index
* The Search API index entity.
* @param bool $reset
* (optional) Whether to reset the static cache.
*
* @return array
* The language-specific mapping from Drupal to Solr field names.
*
* @throws \Drupal\search_api\SearchApiException
*/
public function getLanguageSpecificSolrFieldNames($language_id, ?IndexInterface $index, $reset = FALSE);
/**
* Gets a language-specific mapping from Drupal to Solr field names.
*
* @param array $language_ids
* The language to get the mapping for.
* @param \Drupal\search_api\IndexInterface $index
* The Search API index entity.
* @param bool $reset
* (optional) Whether to reset the static cache.
*
* @return array
* The language-specific mapping from Drupal to Solr field names.
*
* @throws \Drupal\search_api\SearchApiException
*/
public function getSolrFieldNamesKeyedByLanguage(array $language_ids, IndexInterface $index, $reset = FALSE);
/**
* Returns the Solr connector used for this backend.
*
* @return \Drupal\search_api_solr\SolrConnectorInterface
* The Solr connector object.
*
* @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 entity.
* @param \Drupal\search_api\Item\ItemInterface $item
* An item to get documents for.
*
* @return \Solarium\QueryType\Update\Query\Document
* A solr document.
*
* @throws \Drupal\search_api\SearchApiException
*/
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[]
* An array of solr documents.
*
* @throws \Drupal\search_api\SearchApiException
*/
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.
*
* @throws \Drupal\search_api\SearchApiException
*/
public function extractContentFromFile($filepath);
/**
* Returns the targeted content domain of the server.
*
* @return string
* The content domain.
*/
public function getDomain();
/**
* Returns the targeted environment of the server.
*
* @return string
* The environment.
*/
public function getEnvironment();
/**
* 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();
/**
* Indicates if the Solr index should be optimized daily.
*
* @return bool
* TRUE if the Solr index should be optimized daily, FALSE otherwise.
*/
public function isOptimizeEnabled();
/**
* Returns a ready to use query string to filter results by index and site.
*
* @param \Drupal\search_api\IndexInterface $index
* The Search API index entity.
*
* @return string
* The query string filter.
*/
public function getIndexFilterQueryString(IndexInterface $index);
/**
* Returns the endpoint to use for the index.
*
* In case of Solr Cloud an index might use a different Solr collection.
*
* @param \Drupal\search_api\IndexInterface $index
*
* @return \Solarium\Core\Client\Endpoint
*
* @throws \Drupal\Component\Plugin\Exception\PluginException
* @throws \Drupal\search_api\SearchApiException
*/
public function getCollectionEndpoint(IndexInterface $index);
/**
* Returns the Solr settings for the given index.
*
* @param \Drupal\search_api\IndexInterface $index
* The Search API index entity.
*
* @return array
* An associative array of settings.
*
* @deprecated use \Drupal\search_api_solr\Utility\Utility::getIndexSolrSettings()
*/
public function getIndexSolrSettings(IndexInterface $index);
/**
* Prefixes an index ID as configured.
*
* The resulting ID will be a concatenation of the following strings:
* - If set, the server-specific index_prefix.
* - If set, the index-specific prefix.
* - The index's machine name.
*
* @param \Drupal\search_api\IndexInterface $index
* The Search API index entity.
*
* @return string
* The prefixed machine name.
*/
public function getIndexId(IndexInterface $index);
/**
* Returns the targeted Index ID. In case of multisite it might differ.
*
* @param \Drupal\search_api\IndexInterface $index
* The Search API index entity.
*
* @return string
* The targeted Index ID.
*
* @throws \Drupal\search_api\SearchApiException
*/
public function getTargetedIndexId(IndexInterface $index);
/**
* Returns the targeted site hash. In case of multisite it might differ.
*
* @param \Drupal\search_api\IndexInterface $index
* The Search API index entity.
*
* @return string
* The targeted site hash.
*
* @throws \Drupal\search_api\SearchApiException
*/
public function getTargetedSiteHash(IndexInterface $index);
/**
* Executes a streaming expression.
*
* @param \Drupal\search_api\Query\QueryInterface $query
* The query used for the streaming expression.
*
* @return \Solarium\QueryType\Stream\Result
* The streaming expression 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
* The query used for the graph streaming expression.
*
* @return \Solarium\QueryType\Graph\Result
* The graph streaming expression 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
* The Search API index entity.
*
* @return bool
* TRUE if a finalization run, FALSE otherwise. FALSE doesn't indicate an
* error!
*
* @throws \Drupal\Component\Plugin\Exception\PluginException
* @throws \Drupal\search_api\SearchApiException
* @throws \Drupal\search_api_solr\SearchApiSolrException
*/
public function finalizeIndex(IndexInterface $index);
/**
* Gets schema language statistics for the multilingual Solr server.
*
* @param \Solarium\Core\Client\Endpoint|null $endpoint
* If not set, the statistics for the server's default endpoint will be
* returned.
*
* @return array
* Stats as associative array keyed by language IDs. The value is the
* language id of the corresponding field type existing on the server's
* current schema or FALSE.
*
* @throws \Drupal\Component\Plugin\Exception\PluginException
* @throws \Drupal\search_api\SearchApiException
* @throws \Drupal\search_api_solr\SearchApiSolrException
*/
public function getSchemaLanguageStatistics(?Endpoint $endpoint = NULL);
/**
* Get document counts for this server, in total and per site / index.
*
* @return array
* An associative array of document counts.
*
* @throws \Drupal\Component\Plugin\Exception\PluginException
* @throws \Drupal\search_api\SearchApiException
* @throws \Drupal\search_api_solr\SearchApiSolrException
*/
public function getDocumentCounts();
/**
* Get the max document versions, in total and per site / index / datasource.
*
* _version_ numbers are important for replication and checkpoints.
*
* @return array
* An associative array of max document versions.
*
* @throws \Drupal\Component\Plugin\Exception\PluginException
* @throws \Drupal\search_api\SearchApiException
* @throws \Drupal\search_api_solr\SearchApiSolrException
*/
public function getMaxDocumentVersions();
/**
* Gets a list of Solr Field Types that are disabled for this backend.
*
* @return String[]
*/
public function getDisabledFieldTypes() : array;
/**
* Gets a list of Solr Caches that are disabled for this backend.
*
* @return String[]
*/
public function getDisabledCaches() : array;
/**
* Gets a list of Solr Request Handlers that are disabled for this backend.
*
* @return String[]
*/
public function getDisabledRequestHandlers() : array;
/**
* Gets a list of Solr Request Dispatchers that are disabled for this backend.
*
* @return String[]
*/
public function getDisabledRequestDispatchers() : array;
/**
* Indicates if the the current Solr config should not be verified.
*
* @return bool
*/
public function isNonDrupalOrOutdatedConfigSetAllowed() : bool;
}
Members
Name | Modifiers | Type | Description | Overrides |
---|---|---|---|---|
SolrBackendInterface:: |
public | function | Executes a graph streaming expression. | 1 |
SolrBackendInterface:: |
public | function | Executes a streaming expression. | 1 |
SolrBackendInterface:: |
public | function | Extract a file's content using tika within a solr server. | 1 |
SolrBackendInterface:: |
constant | |||
SolrBackendInterface:: |
public | function | Apply any finalization commands to a solr index. | 1 |
SolrBackendInterface:: |
public | function | Returns the endpoint to use for the index. | 1 |
SolrBackendInterface:: |
public | function | Gets a list of Solr Caches that are disabled for this backend. | 1 |
SolrBackendInterface:: |
public | function | Gets a list of Solr Field Types that are disabled for this backend. | 1 |
SolrBackendInterface:: |
public | function | Gets a list of Solr Request Dispatchers that are disabled for this backend. | 1 |
SolrBackendInterface:: |
public | function | Gets a list of Solr Request Handlers that are disabled for this backend. | 1 |
SolrBackendInterface:: |
public | function | Retrieves a Solr document from an search api index item. | 1 |
SolrBackendInterface:: |
public | function | Get document counts for this server, in total and per site / index. | 1 |
SolrBackendInterface:: |
public | function | Retrieves Solr documents from search api index items. | 1 |
SolrBackendInterface:: |
public | function | Returns the targeted content domain of the server. | 1 |
SolrBackendInterface:: |
public | function | Returns the targeted environment of the server. | 1 |
SolrBackendInterface:: |
public | function | Returns a ready to use query string to filter results by index and site. | 1 |
SolrBackendInterface:: |
public | function | Prefixes an index ID as configured. | 1 |
SolrBackendInterface:: |
public | function | Returns the Solr settings for the given index. | 1 |
SolrBackendInterface:: |
public | function | Gets a language-specific mapping from Drupal to Solr field names. | 1 |
SolrBackendInterface:: |
public | function | Get the max document versions, in total and per site / index / datasource. | 1 |
SolrBackendInterface:: |
public | function | Gets schema language statistics for the multilingual Solr server. | 1 |
SolrBackendInterface:: |
public | function | Returns the Solr connector used for this backend. | 1 |
SolrBackendInterface:: |
public | function | Creates a list of all indexed field names mapped to their Solr field names. | 1 |
SolrBackendInterface:: |
public | function | Gets a language-specific mapping from Drupal to Solr field names. | 1 |
SolrBackendInterface:: |
public | function | Returns the targeted Index ID. In case of multisite it might differ. | 1 |
SolrBackendInterface:: |
public | function | Returns the targeted site hash. In case of multisite it might differ. | 1 |
SolrBackendInterface:: |
public | function | Indicates if the Solr server uses a managed schema. | 1 |
SolrBackendInterface:: |
public | function | Indicates if the the current Solr config should not be verified. | 1 |
SolrBackendInterface:: |
public | function | Indicates if the Solr index should be optimized daily. | 1 |
SolrBackendInterface:: |
constant | The separator to indicate the start of a language ID. | ||
SolrBackendInterface:: |
constant | The minimum required Solr schema version. | ||
SolrBackendInterface:: |
constant | The current Solr schema version. |