Searching for Words or Phrases Using Weighted Values (Weighted Term)

You can use CONTAINS or CONTAINSTABLE to search for words or phrases and specify a weighting value. Weight, measured as a number from 0.0 through 1.0, indicates the degree of importance for each word and phrase within a set of words and phrases. A weight value of 0.0 is the lowest, and a weight value of 1.0 is the highest.

The following example shows a query that searches for all customer addresses, using weight values, in which any text beginning with the string "Bay" has either "Street" or "View". SQL Server 2008 gives a higher rank to those rows with more of the words specified.

USE AdventureWorks
GO
SELECT AddressLine1, KEY_TBL.RANK 
FROM Person.Address AS Address INNER JOIN
CONTAINSTABLE(Person.Address, AddressLine1, 'ISABOUT ("Bay*", 
         Street WEIGHT(0.9), 
         View WEIGHT(0.1)
         ) ' ) AS KEY_TBL
ON Address.AddressID = KEY_TBL.[KEY]
ORDER BY KEY_TBL.RANK
GO

A weighted term can be used in conjunction with any of the other four types of terms, namely simple term, prefix term, generation term, and proximity term.

Community Additions

ADD
Show: