function SearchIndex::clear
Same name in other branches
- 9 core/modules/search/src/SearchIndex.php \Drupal\search\SearchIndex::clear()
- 10 core/modules/search/src/SearchIndex.php \Drupal\search\SearchIndex::clear()
- 11.x core/modules/search/src/SearchIndex.php \Drupal\search\SearchIndex::clear()
Overrides SearchIndexInterface::clear
1 call to SearchIndex::clear()
- SearchIndex::index in core/
modules/ search/ src/ SearchIndex.php - Updates the full-text search index for a particular item.
File
-
core/
modules/ search/ src/ SearchIndex.php, line 219
Class
- SearchIndex
- Provides search index management functions.
Namespace
Drupal\searchCode
public function clear($type = NULL, $sid = NULL, $langcode = NULL) {
try {
$query_index = $this->connection
->delete('search_index');
$query_dataset = $this->connection
->delete('search_dataset');
if ($type) {
$query_index->condition('type', $type);
$query_dataset->condition('type', $type);
if ($sid) {
$query_index->condition('sid', $sid);
$query_dataset->condition('sid', $sid);
if ($langcode) {
$query_index->condition('langcode', $langcode);
$query_dataset->condition('langcode', $langcode);
}
}
}
$query_index->execute();
$query_dataset->execute();
} catch (\Exception $e) {
throw new SearchIndexException("Failed to clear index for type '{$type}', sid '{$sid}' and langcode '{$langcode}'", 0, $e);
}
if ($type) {
// Invalidate all render cache items that contain data from this index.
$this->cacheTagsInvalidator
->invalidateTags([
'search_index:' . $type,
]);
}
else {
// Invalidate all render cache items that contain data from any index.
$this->cacheTagsInvalidator
->invalidateTags([
'search_index',
]);
}
}
Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.