Ricerca di parole o frasi con peso diverso (termine ponderato)

È possibile utilizzare CONTAINS o CONTAINSTABLE per cercare parole o frasi e specificare un valore ponderato. Il peso, che viene espresso con un numero compreso tra 0.0 e 1.0, indica il grado di importanza di ogni parola o frase all'interno di un set di parole o frasi. Il valore 0,0 corrisponde al peso minimo, mentre 1.0 corrisponde al peso massimo.

Esempi

Nell'esempio seguente viene illustrata una query per cercare tutti gli indirizzi dei clienti in cui il testo che inizia con la stringa "Bay" contiene la parola "Street" o "View", utilizzando i valori di ponderazione. In SQL Server 2008 viene assegnata una pertinenza maggiore alle righe che includono il maggior numero di parole specificate.

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

È possibile utilizzare un termine ponderato insieme a uno qualsiasi degli altri quattro tipi di termine, ovvero un termine semplice, un termine di prefisso, un termine di generazione e un termine vicino.