function HelpSearch::indexStatus

Same name in other branches
  1. 8.9.x core/modules/help_topics/src/Plugin/Search/HelpSearch.php \Drupal\help_topics\Plugin\Search\HelpSearch::indexStatus()
  2. 10 core/modules/help/src/Plugin/Search/HelpSearch.php \Drupal\help\Plugin\Search\HelpSearch::indexStatus()
  3. 11.x core/modules/help/src/Plugin/Search/HelpSearch.php \Drupal\help\Plugin\Search\HelpSearch::indexStatus()

Overrides SearchIndexingInterface::indexStatus

File

core/modules/help_topics/src/Plugin/Search/HelpSearch.php, line 466

Class

HelpSearch
Handles searching for help using the Search module index.

Namespace

Drupal\help_topics\Plugin\Search

Code

public function indexStatus() {
    $this->updateTopicList();
    $total = $this->database
        ->select('help_search_items', 'hsi')
        ->countQuery()
        ->execute()
        ->fetchField();
    $query = $this->database
        ->select('help_search_items', 'hsi');
    $query->addExpression('COUNT(DISTINCT([hsi].[sid]))');
    $query->leftJoin('search_dataset', 'sd', '[hsi].[sid] = [sd].[sid] AND [sd].[type] = :type', [
        ':type' => $this->getType(),
    ]);
    $condition = $this->database
        ->condition('OR');
    $condition->condition('sd.reindex', 0, '<>')
        ->isNull('sd.sid');
    $query->condition($condition);
    $remaining = $query->execute()
        ->fetchField();
    return [
        'remaining' => $remaining,
        'total' => $total,
    ];
}

Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.