You are here

protected function SolrCommitTrait::ensureCommit 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::ensureCommit()
  2. 8.2 src/Utility/SolrCommitTrait.php \Drupal\search_api_solr\Utility\SolrCommitTrait::ensureCommit()
  3. 4.x src/Utility/SolrCommitTrait.php \Drupal\search_api_solr\Utility\SolrCommitTrait::ensureCommit()

Explicitly sends a commit command to a Solr server.

Parameters

\Drupal\search_api\IndexInterface $index: The Search API server entity.

Throws

\Drupal\Component\Plugin\Exception\PluginException

\Drupal\search_api\SearchApiException

2 calls to SolrCommitTrait::ensureCommit()
ViewsTest::indexItems in tests/src/Functional/ViewsTest.php
Indexes all (unindexed) items on the specified index.
ViewsTest::tearDown in tests/src/Functional/ViewsTest.php

File

src/Utility/SolrCommitTrait.php, line 23

Class

SolrCommitTrait
Helper to ensure that solr index is up to date.

Namespace

Drupal\search_api_solr\Utility

Code

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);
    }
  }
}