function _node_index_node

Indexes a single node.

Parameters

Drupal\node\Node $node: The node to index.

1 call to _node_index_node()
node_update_index in drupal/core/modules/node/node.module
Implements hook_update_index().

File

drupal/core/modules/node/node.module, line 2435
The core module that allows content to be submitted to the site.

Code

function _node_index_node(Node $node) {

  // Save the changed time of the most recent indexed node, for the search
  // results half-life calculation.
  state()
    ->set('node.cron_last', $node->changed);
  $languages = $node
    ->getTranslationLanguages();
  foreach ($languages as $language) {

    // Render the node.
    $build = node_view($node, 'search_index', $language->langcode);
    unset($build['#theme']);
    $node->rendered = drupal_render($build);
    $text = '<h1>' . check_plain($node
      ->label($language->langcode)) . '</h1>' . $node->rendered;

    // Fetch extra data normally not visible.
    $extra = module_invoke_all('node_update_index', $node, $language->langcode);
    foreach ($extra as $t) {
      $text .= $t;
    }

    // Update index.
    search_index($node->nid, 'node', $text, $language->langcode);
  }
}