Condividi tramite


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

È possibile eseguire la ricerca di parole o frasi specificando un valore di ponderazione. 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. Questa query, ad esempio, esegue la ricerca di 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 Microsoft SQL Server 2005 viene assegnato un rango 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.

Vedere anche

Concetti

Query di ricerca full-text

Altre risorse

CONTAINS (Transact-SQL)

Guida in linea e informazioni

Assistenza su SQL Server 2005