Noise Words and the FREETEXT Predicate

When creating search queries, remember that words that are very common or carry no meaning about the content are removed during indexing. These "noise" words cannot be matched in full-text searches. For example, searching for the phrase "this is a test" is equivalent to searching for the word "test" because "this", "is", and "a" are all discarded when the documents are indexed.

When noise words are discarded from FREETEXT content search terms, they are ignored in the search. The search results and rankings are based on the list of search terms with the noise words removed.

For example, a user who wants to search for all documents that contain both "computer" and "software" might type "computer and software". If the string is inserted into the FREETEXT predicate unchanged, it would be submitted as:

FREETEXT('computer and software')

The search engine recognizes "and" as a noise word, and discards it. It then matches all documents that contain "computer", "software", or both.

Note For information on updating noise word files, see KB 837847: How to customize SharePoint Portal Server 2003 by using IFilters, noise word files, and thesaurus files.

FREETEXT Column Weighting

The FREETEXT predicate ranks matching documents based on how closely each document matches the set of freetext conditions in the query. You can use column weighting to place more importance on matching the freetext condition in one fulltext column as compared to other fulltext_columns. Each fulltext_column in the FREETEXT predicate can have a weight value applied. The WEIGHT term has two alternative syntaxes.

The following example shows the long syntax of the WEIGHT term:

<fulltext_column> WEIGHT(<weight_value>)

The following example shows the syntax for the shortened form of the WEIGHT term:

<fulltext_column>:<weight_value>

The weight is applied to a single fulltext_column, and is indicated either by the keyword "WEIGHT" or by a colon (:).

Important Do not include spaces between the match term, the colon, and the weight value in the shortened syntax.

The weight value must be between 0 and 1.0, with no more than three significant decimal places. Specifying any weight values outside of this range results is an error message. The weights are multiplied against the unweighted ranking value.

If no weight is specified for a fulltext_column, the default value 1.0 is implied.

Example

The following example applies weights to the two fulltext_columns, using the long and shortened weight indicators:

…WHERE FREETEXT(
("DAV:displayname"
WEIGHT(0.75,"urn:schemas-microsoft-com:office:office#Title":0.25)'computer')