You are here

trait SolrCommitTrait in Search API Solr 8

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

Helper to ensure that solr index is up to date.

Hierarchy

1 file declares its use of SolrCommitTrait
ViewsTest.php in tests/src/Functional/ViewsTest.php

File

src/Utility/SolrCommitTrait.php, line 12

Namespace

Drupal\search_api_solr\Utility
View source
trait SolrCommitTrait {

  /**
   * Explicitly sends a commit command to a Solr server.
   *
   * @param \Drupal\search_api\IndexInterface $index
   *   The Search API server entity.
   *
   * @throws \Drupal\Component\Plugin\Exception\PluginException
   * @throws \Drupal\search_api\SearchApiException
   */
  protected function ensureCommit(IndexInterface $index) {
    if ($server = $index
      ->getServerInstance()) {

      /** @var \Drupal\search_api_solr\SolrBackendInterface $backend */
      $backend = $server
        ->getBackend();

      /** @var \Drupal\search_api_solr\SolrConnectorInterface $connector */
      $connector = $backend
        ->getSolrConnector();
      $update = $connector
        ->getUpdateQuery();
      $update
        ->addCommit(TRUE, TRUE, TRUE);
      $connector
        ->update($update);
      if (SOLR_INDEX_WAIT) {
        sleep(SOLR_INDEX_WAIT);
      }
    }
  }

}

Members

Namesort descending Modifiers Type Description Overrides
SolrCommitTrait::ensureCommit protected function Explicitly sends a commit command to a Solr server.