SearchIndexInterface.php

Same filename in other branches
  1. 9 core/modules/search/src/SearchIndexInterface.php
  2. 8.9.x core/modules/search/src/SearchIndexInterface.php
  3. 10 core/modules/search/src/SearchIndexInterface.php

Namespace

Drupal\search

File

core/modules/search/src/SearchIndexInterface.php

View source
<?php

namespace Drupal\search;


/**
 * Provides search index management functions.
 *
 * @ingroup search
 */
interface SearchIndexInterface {
    
    /**
     * Updates the full-text search index for a particular item.
     *
     * @param string $type
     *   The plugin ID or other machine-readable type of this item,
     *   which should be less than 64 bytes.
     * @param int $sid
     *   An ID number identifying this particular item (e.g., node ID).
     * @param string $langcode
     *   Language code for the language of the text being indexed.
     * @param string $text
     *   The content of this item. Must be a piece of HTML or plain text.
     * @param bool $update_weights
     *   (optional) TRUE if word weights should be updated. FALSE otherwise;
     *   defaults to TRUE. If you pass in FALSE, then you need to have your
     *   calls to this method in a try/finally block, and at the end of your
     *   index run in the finally clause, you will need to call
     *   self::updateWordWeights(), passing in all of the returned words, to
     *   update the word weights.
     *
     * @return string[]
     *   The words to be updated.
     *
     * @throws \Drupal\search\Exception\SearchIndexException
     *   If there is an error indexing the text.
     */
    public function index($type, $sid, $langcode, $text, $update_weights = TRUE);
    
    /**
     * Clears either a part of, or the entire search index.
     *
     * This function is meant for use by search page plugins, or for building a
     * user interface that lets users clear all or parts of the search index.
     *
     * @param string|null $type
     *   (optional) The plugin ID or other machine-readable type for the items to
     *   remove from the search index. If omitted, $sid and $langcode are ignored
     *   and the entire search index is cleared.
     * @param int|array|null $sid
     *   (optional) The ID or array of IDs of the items to remove from the search
     *   index. If omitted, all items matching $type are cleared, and $langcode
     *   is ignored.
     * @param string|null $langcode
     *   (optional) Language code of the item to remove from the search index. If
     *   omitted, all items matching $sid and $type are cleared.
     *
     * @throws \Drupal\search\Exception\SearchIndexException
     *   If there is an error clearing the index.
     */
    public function clear($type = NULL, $sid = NULL, $langcode = NULL);
    
    /**
     * Changes the timestamp on indexed items to 'now' to force reindexing.
     *
     * This function is meant for use by search page plugins, or for building a
     * user interface that lets users mark all or parts of the search index for
     * reindexing.
     *
     * @param string $type
     *   (optional) The plugin ID or other machine-readable type of this item. If
     *   omitted, the entire search index is marked for reindexing, and $sid and
     *   $langcode are ignored.
     * @param int $sid
     *   (optional) An ID number identifying this particular item (e.g., node ID).
     *   If omitted, everything matching $type is marked, and $langcode is
     *   ignored.
     * @param string $langcode
     *   (optional) The language code to mark. If omitted, everything matching
     *   $type and $sid is marked.
     *
     * @throws \Drupal\search\Exception\SearchIndexException
     *   If there is an error marking the index for re-indexing.
     */
    public function markForReindex($type = NULL, $sid = NULL, $langcode = NULL);
    
    /**
     * Updates the {search_total} database table.
     *
     * @param array $words
     *   An array whose keys are words from self::index() whose total weights
     *   need to be updated.
     *
     * @throws \Drupal\search\Exception\SearchIndexException
     *   If there is an error updating the totals.
     */
    public function updateWordWeights(array $words);

}

Interfaces

Title Deprecated Summary
SearchIndexInterface Provides search index management functions.

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