Drupal search

Drupal Search facility

To help overcome the problem of lost pages Every article (node) should be tagged with a list of keywords which characterise the content.

These keywords form a taxonomy. Different subjects are likely to have their own distinct set of keywords, or vocabulary, whereas others may overlap. For example the subject of HTML is likely to have a very different set of keywords than say the subject of hardware, however the subjects HTML and CSS are likely to have overlapping keywords. Different portions of the site could therefore have their own vocabularies.

Up to recently free tagging, or a flat list of keywords, has been used, consequently this is an underdeveloped aspect of the site, which has implications for the views module. The penalty of free tagging is it must be actively maintained.

A page can now be located by entering the keyword (or any other word) into the Drupal search facility. The example below illustrates this, using the keyword hexadecimal. This has found a number of pages where the word hexadecimal appears in the text, including the glossary page. As well as the keywords, clearly drupal indexes other words within its database.
Drupal also provides a number of predefined views, one of which locates all pages containing a given keyword. This goes some way to addresses the multiple page location problem mentioned earlier. The page explaining hexadecimal numbers, as you might expect has hexadecimal as one of its keywords. The keywords are listed at the bottom of the article in Drupal. By clicking on a keyword, Drupal will locate all the other pages which have hexadecimal as a keyword.

At the time this article was written, only one page contained the taxonomy keyword hexadecimal, however using the Drupal search returned various pages as the example shows. This neatly highlights one of the problems in designing a taxonomy; and perhaps exposes a shortcoming of the current Drupal implementation, namely the taxonomy search only works on single keywords.
Conversely searching for the words such as style, or HTML in the search engine are likely to hit every page within the corresponding menu sections

Drupal's search engine also provides an advanced search (see below) which can be used with multiple words, to help narrow down the search results