Compartir a través de


Buscar palabras o frases con valores ponderados (término ponderado)

Puede utilizar CONTAINS o CONTAINSTABLE para buscar palabras o frases, y especificar un valor de ponderación. El peso, un número entre 0,0 y 1,0, indica el grado de importancia de cada palabra o frase en un conjunto de palabras y frases. El valor 0,0 es el peso más pequeño disponible, y el valor 1,0 es el peso más grande.

Ejemplos

El ejemplo siguiente muestra una consulta que busca todas las direcciones de los clientes, con valores ponderados, en los que cualquier texto que comience con la cadena "Bay" contenga "Street" o "View". SQL Server 2008 asigna un rango superior a aquellas filas que contienen más palabras de las especificadas.

USE AdventureWorks2008R2;
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

Un término ponderado se puede usar junto con cualquiera de los otros cuatro tipos de términos, a saber, término simple, término prefijo, término de generación y término de proximidad.