Compartir a través de


Predicado FREETEXT en la sintaxis SQL del motor de búsqueda Enterprise Search

Parte de la cláusula WHERE que admite la búsqueda de palabras y frases en columnas de texto.

FREETEXT
([<full-text_column>,]'<freetext_condition>'[,<LCID>])…

Comentarios

El predicado FREETEXT sirve para buscar documentos que contengan combinaciones de las palabras de la búsqueda repartidas por toda la columna. Por el contrario, el predicado CONTAINS sirve para buscar coincidencias "exactas". También puede realizar una búsqueda de frase exacta con el predicado FREETEXT escribiendo la frase entre comillas dobles.

La referencia de columna de texto completo es opcional. Por motivos de relevancia, se recomienda especificar aquí DEFAULTPROPERTIES. Por ejemplo:

…WHERE FREETEXT(DEFAULTPROPERTIES, 'computer software')

De forma alternativa, puede especificar una única columna o un alias de grupo de columnas con respecto a los cuales se probará el predicado FREETEXT. Se buscarán todas las propiedades de texto indizadas. Aunque no es obligatorio que la columna sea una propiedad de texto, los resultados podrían carecer de sentido si la columna es de algún otro tipo de datos. El nombre de la columna puede ser un identificador normal o delimitado, y se debe separar de la condición mediante una coma. Si no se proporciona ninguna condición de texto completo, se usará la columna Contenido, que es el cuerpo del documento.

También puede especificar la referencia de columna de texto completo con un asterisco (*), que indica que se usarán todas las columnas.

Se puede especificar la configuración regional de la búsqueda para el predicado FREETEXT. Esto indica al motor de búsqueda que use el separador de palabras adecuado, la lista de palabras irrelevantes, las flexiones de las palabras y el criterio de ordenación para la consulta de búsqueda. Para especificar la configuración regional, se debe proporcionar el identificador de configuración regional estándar de Microsoft Windows, también conocido como LCID. Por ejemplo, 1033 es el LCID para Estados Unidos-Inglés. Coloque el LCID como el último elemento dentro de los paréntesis de la cláusula FREETEXT. Para obtener información importante acerca de la búsqueda y los idiomas, consulte la sección sobre el uso de búsquedas localizadas en Información de lenguaje de consulta SQL el motor de búsqueda Enteprise Search.

Nota

La configuración regional predeterminada de la búsqueda es la configuración regional predeterminada del sistema.

Debe escribir la parte <condición_de_freetext> entre comillas simples y debe estar compuesta de uno o más términos de búsqueda. El predicado FREETEXT no admite operaciones lógicas. Para buscar una frase como si fuera una única palabra, escriba la frase entre comillas dobles.

El comportamiento predeterminado del predicado FREETEXT es que la consulta devuelva documentos en los que se cumpla lo siguiente:

  • El documento contiene todos los términos de la búsqueda en al menos una de las columnas especificadas.

  • Uno de los términos de la búsqueda también debe encontrarse en la columna Contenido, que es la propiedad que contiene el cuerpo del documento.

No es necesario que los términos aparezcan en un orden determinado. Los documentos que contienen un mayor número de los términos de búsqueda podrían tener valores de columna de una clasificación superior.

Importante

Se recomienda usar sólo un predicado FREETEXT en una consulta de búsqueda. Si usa varias instancias, la consulta se ejecutará sin errores, pero la clasificación de los resultados no será óptima.

El predicado FREETEXT también admite los caracteres de inclusión "+" y de exclusión "-", los cuales usan las mismas reglas de coincidencia que la sintaxis de palabras clave. Para obtener información acerca de las reglas de coincidencia, consulte Inclusión y exclusión de sintaxis de palabras clave del motor de búsqueda Enterprise Search.

Ejemplos

En el siguiente ejemplo se buscan documentos que contengan las palabras "computer", "software" y "hardware".

…WHERE FREETEXT('computer software hardware')

Nota

El comportamiento es distinto al funcionamiento que tenía el predicado FREETEXT en SharePoint Portal Server 2003.

Se puede usar una coincidencia de una única palabra y una frase en el mismo predicado FREETEXT. En el siguiente ejemplo se buscan documentos que contengan la palabra "software" y la frase "computer hardware".

…FREETEXT('software "computer hardware"')

Al realizar consultas con contracciones y usar el predicado FREETEXT, debe anteponer un carácter de escape a las comillas en la contracción; esto no es necesario cuando se usa el predicado CONTAINS.

Por ejemplo, la siguiente sintaxis genera un error:

…WHERE FREETEXT(*,'"We'll always have Paris"')

La sintaxis correcta incluye dos comillas simples.

La siguiente sintaxis es correcta:

…WHERE FREETEXT(*,'"We''ll always have Paris"')

En el siguiente ejemplo se buscan documentos que contengan los términos de búsqueda "hardware" y "store", y no contengan el término de búsqueda "computer".

…WHERE FREETEXT(DEFAULTPROPERTIES, 'hardware store -computer')

Nota

Los filtros de propiedad no se admiten con el predicado FREETEXT.

En el siguiente ejemplo no se buscan documentos en los que la propiedad author contenga el término de búsqueda "Juan"; en lugar de ello, se buscan documentos que contienen los términos de búsqueda "author", "John", "computer" y "hardware".

WHERE FREETEXT(DEFAULTPROPERTIES, 'author:John computer hardware')

En el siguiente ejemplo se buscan documentos en los que la propiedad author contiene el término de búsqueda "John" y los términos de búsqueda "computer" y "hardware" se encuentran en algún otro lugar del documento.

…WHERE CONTAINS(author, 'John') AND FREETEXT(DEFAULTPROPERTIES, 'computer hardware')

Nota

La clasificación de resultados de esta consulta se basa únicamente en el predicado FREETEXT.

En esta sección

Las palabras irrelevantes y el predicado FREETEXT en la sintaxis SQL del motor de búsqueda Enterprise Search

Vea también

Otros recursos

Predicado CONTAINS en la sintaxis de SQL del motor de búsqueda Enterprise Search
Predicado de alias de grupo WITH -- AS de la sintaxis SQL del motor de búsqueda Enteprise Search