Search interface

The Drupal search interface manages a global search mechanism.

Modules may plug into this system to provide searches of different types of data. Most of the system is handled by search.module, so this must be enabled for all of the search features to work.

There are three ways to interact with the search system:

  • Specifically for searching nodes, you can implement nodeapi('update index') and nodeapi('search result'). However, note that the search system already indexes all visible output of a node, i.e. everything displayed normally by hook_view() and hook_nodeapi('view'). This is usually sufficient. You should only use this mechanism if you want additional, non-visible data to be indexed.
  • Implement hook_search(). This will create a search tab for your module on the /search page with a simple keyword search form. You may optionally implement hook_search_item() to customize the display of your results.
  • Implement hook_update_index(). This allows your module to use Drupal's HTML indexing mechanism for searching full text efficiently.
If your module needs to provide a more complicated search form, then you need to implement it yourself without hook_search(). In that case, you should define it as a local task (tab) under the /search page (e.g. /search/mymodule) so that users can easily find it.

Functions

Namesort iconLocationDescription
do_searchfiles/drupal-6.7/modules/search/search.moduleDo a query on the full-text search index for a word or words.
do_searchfiles/drupal-6.7/modules/search/search.moduleDo a query on the full-text search index for a word or words.
hook_searchfiles/contributions/docs/developer/hooks/core.phpDefine a custom search routine.
hook_searchfiles/contributions/docs/developer/hooks/core.phpDefine a custom search routine.
hook_update_indexfiles/contributions/docs/developer/hooks/core.phpUpdate Drupal's full-text index for this module.
hook_update_indexfiles/contributions/docs/developer/hooks/core.phpUpdate Drupal's full-text index for this module.
search_boxfiles/drupal-6.7/modules/search/search.moduleForm builder; Output a search form for the search block and the theme's search box. See alsosearch_box_form_submit()
search_boxfiles/drupal-6.7/modules/search/search.moduleForm builder; Output a search form for the search block and the theme's search box. See alsosearch_box_form_submit()
search_box_form_submitfiles/drupal-6.7/modules/search/search.moduleProcess a block search form submission.
search_box_form_submitfiles/drupal-6.7/modules/search/search.moduleProcess a block search form submission.
search_datafiles/drupal-6.7/modules/search/search.modulePerform a standard search on the given keys, and return the formatted results.
search_datafiles/drupal-6.7/modules/search/search.modulePerform a standard search on the given keys, and return the formatted results.
search_excerptfiles/drupal-6.7/modules/search/search.moduleReturns snippets from a piece of text, with certain keywords highlighted. Used for formatting search results.
search_excerptfiles/drupal-6.7/modules/search/search.moduleReturns snippets from a piece of text, with certain keywords highlighted. Used for formatting search results.
search_formfiles/drupal-6.7/modules/search/search.moduleRender a search form.
search_formfiles/drupal-6.7/modules/search/search.moduleRender a search form.
search_indexfiles/drupal-6.7/modules/search/search.moduleUpdate the full-text search index for a particular item.
search_indexfiles/drupal-6.7/modules/search/search.moduleUpdate the full-text search index for a particular item.
template_preprocess_search_block_formfiles/drupal-6.7/modules/search/search.moduleProcess variables for search-block-form.tpl.php.
template_preprocess_search_block_formfiles/drupal-6.7/modules/search/search.moduleProcess variables for search-block-form.tpl.php.
template_preprocess_search_theme_formfiles/drupal-6.7/modules/search/search.moduleProcess variables for search-theme-form.tpl.php.
template_preprocess_search_theme_formfiles/drupal-6.7/modules/search/search.moduleProcess variables for search-theme-form.tpl.php.