Indexes a single node.
Drupal\node\Node $node: The node to index.
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);
}
}