public function SearchApiAbstractDataSourceController::trackItemIndexed in Search API 7
Sets the tracking status of the given items to "indexed".
Parameters
array $item_ids: The IDs of the indexed items.
SearchApiIndex $index: The index on which the items were indexed.
Throws
SearchApiDataSourceException If any error state was encountered.
Overrides SearchApiDataSourceControllerInterface::trackItemIndexed
1 method overrides SearchApiAbstractDataSourceController::trackItemIndexed()
- SearchApiExternalDataSourceController::trackItemIndexed in includes/
datasource_external.inc - Set the tracking status of the given items to "indexed".
File
- includes/
datasource.inc, line 730 - Contains the SearchApiDataSourceControllerInterface as well as a default base class.
Class
- SearchApiAbstractDataSourceController
- Provides a default base class for datasource controllers.
Code
public function trackItemIndexed(array $item_ids, SearchApiIndex $index) {
if (!$this->table || $item_ids === array()) {
return;
}
$this
->checkIndex($index);
try {
db_update($this->table)
->fields(array(
$this->changedColumn => 0,
))
->condition($this->itemIdColumn, $item_ids, 'IN')
->condition($this->indexIdColumn, $index->id)
->execute();
} catch (Exception $e) {
$tmp = array_slice($item_ids, 0, 10);
$item_ids_string = '"' . implode('", "', $tmp) . '"';
$vars = array(
'%index' => $index->name,
'@item_ids' => $item_ids_string,
);
watchdog_exception('search_api', $e, '%type while tracking indexed items (IDs: @item_ids) on index %index: !message in %function (line %line of %file).', $vars);
}
}