function search_reindex

Clears either a part of, or the entire search index.

Parameters

$sid: (optional) The ID of the item to remove from the search index. If specified, $module must also be given. Omit both $sid and $module to clear the entire search index.

$module: (optional) The machine-readable name of the module for the item to remove from the search index.

$reindex: (optional) Boolean to specify whether reindexing happens.

$langcode: (optional) Language code for the operation. If not provided, all index records for the $sid will be deleted.

5 calls to search_reindex()
LanguageUpgradePathTest::testLanguageUpgrade in drupal/core/modules/system/lib/Drupal/system/Tests/Upgrade/LanguageUpgradePathTest.php
Tests a successful upgrade.
NodeStorageController::preDelete in drupal/core/modules/node/lib/Drupal/node/NodeStorageController.php
Overrides Drupal\Core\Entity\DatabaseStorageController::preDelete().
ReindexConfirm::submitForm in drupal/core/modules/search/lib/Drupal/search/Form/ReindexConfirm.php
Implements \Drupal\Core\Form\FormInterface::submitForm().
SearchSettingsForm::submitForm in drupal/core/modules/search/lib/Drupal/search/Form/SearchSettingsForm.php
Implements \Drupal\Core\Form\FormInterface::submitForm().
search_index in drupal/core/modules/search/search.module
Updates the full-text search index for a particular item.

File

drupal/core/modules/search/search.module, line 306
Enables site-wide keyword searching.

Code

function search_reindex($sid = NULL, $module = NULL, $reindex = FALSE, $langcode = NULL) {
  if ($module == NULL && $sid == NULL) {
    module_invoke_all('search_reset');
  }
  else {
    $query = db_delete('search_dataset')
      ->condition('sid', $sid)
      ->condition('type', $module);
    if (!empty($langcode)) {
      $query
        ->condition('langcode', $langcode);
    }
    $query
      ->execute();
    $query = db_delete('search_index')
      ->condition('sid', $sid)
      ->condition('type', $module);
    if (!empty($langcode)) {
      $query
        ->condition('langcode', $langcode);
    }
    $query
      ->execute();

    // Don't remove links if re-indexing.
    if (!$reindex) {
      db_delete('search_node_links')
        ->condition('sid', $sid)
        ->condition('type', $module)
        ->execute();
    }
  }
}