You are here

public static function Utility::getSiteHash in Search API Solr 4.x

Same name and namespace in other branches
  1. 8.3 src/Utility/Utility.php \Drupal\search_api_solr\Utility\Utility::getSiteHash()
  2. 8 src/Utility/Utility.php \Drupal\search_api_solr\Utility\Utility::getSiteHash()
  3. 8.2 src/Utility/Utility.php \Drupal\search_api_solr\Utility\Utility::getSiteHash()

Returns a unique hash for the current site.

This is used to identify Solr documents from different sites within a single Solr server.

Return value

string A unique site hash, containing only alphanumeric characters.

5 calls to Utility::getSiteHash()
IndexSolrMultisiteCloneForm::form in src/Form/IndexSolrMultisiteCloneForm.php
SearchApiSolrBackend::getTargetedSiteHash in src/Plugin/search_api/backend/SearchApiSolrBackend.php
Returns the targeted site hash. In case of multisite it might differ.
StreamingExpressionTest::testStreamingExpressionBuilder in tests/src/Kernel/StreamingExpressionTest.php
Tests streaming expression builder.
Suggester::getAutocompleteSuggestions in src/Plugin/search_api_autocomplete/suggester/Suggester.php
Utility::generateConfigsetName in src/Utility/Utility.php
Returns a suitable name for a new configset.

File

src/Utility/Utility.php, line 137

Class

Utility
Provides various helper functions for Solr backends.

Namespace

Drupal\search_api_solr\Utility

Code

public static function getSiteHash() {

  // Copied from apachesolr_site_hash().
  if (!($hash = \Drupal::state()
    ->get('search_api_solr.site_hash', FALSE))) {
    global $base_url;
    $hash = substr(base_convert(hash('sha256', uniqid($base_url, TRUE)), 16, 36), 0, 6);
    \Drupal::state()
      ->set('search_api_solr.site_hash', $hash);
  }
  return $hash;
}