Share via


Información acerca del lenguaje de consulta SQL de la búsqueda de Windows SharePoint Services

Buscar en Windows SharePoint Services proporciona una característica de rastreo de contenido y características de búsqueda que admiten la búsqueda de texto completo. El lenguaje de consulta usado por la Buscar amplia la sintaxis de consulta de base de datos de los estándares SQL-92 y SQL-99 para mejorar su utilidad en las búsquedas basadas en texto.

Identificadores

Los identificadores especifican los nombres de las columnas (a menudo denominadas propiedades), los catálogos y los alias. Por el contrario, los literales especifican valores numéricos y de cadena.

Puede crear identificadores con una longitud máxima de 128 caracteres y de uno de los dos tipos, diferenciados por los caracteres usados en el nombre de identificador:

  • Identificadores normales   Contienen sólo los caracteres A-Z, a-z, 0-9 y el signo de subrayado, y comienzan por una letra. No es necesario escribir los identificadores normales entre comillas dobles.

  • Identificadores delimitados   Pueden contener cualquier carácter Unicode válido y se deben escribir entre comillas dobles.

Los identificadores creados como nombres de recursos uniformes (URN) deben contener caracteres especiales, siempre son identificadores delimitados y se deben escribir entre comillas dobles.

Nota

Puede usar el asterisco (*) como un identificador especial de columna si desea especificar que Buscar incluya todas las propiedades indizadas en la consulta. Aunque no se trata de un identificador normal, no es necesario escribirlo entre comillas dobles.

Literales

Un literal es una cadena de caracteres que representa un valor en una instrucción de consulta. Los literales se usan para comparar valores de columna o para especificar los términos de la búsqueda. Buscar en Windows SharePoint Services admite los siguientes tipos de literales.

Cadena

Los literales de cadena no tienen límite de longitud y pueden contener caracteres del Instituto Nacional Estadounidense de Normalización (ANSI) o Unicode. Se deben escribir entre comillas sencillas. Para escribir una comilla sencilla en un literal de cadena, use dos comillas sencillas. Para representar una cadena vacía, use dos comillas sencillas consecutivas ('').

Numérico

Los literales numéricos representan números, incluidos los enteros positivos y negativos, los números decimales y los valores de moneda, y pueden contener los dígitos 0-9, un punto y la letra E (o e). Puede definir literales numéricos mediante notación científica (por ejemplo, 2.3E-05). No escriba los literales numéricos entre comillas sencillas o se interpretarán como cadenas de literales y se compararán mediante técnicas de comparación de cadenas. Los valores de moneda no pueden contener símbolos de moneda.

Hexadecimal

Los literales hexadecimales representan un entero no firmado especificado en notación hexadecimal y pueden contener los dígitos 0-9 y las letras A-F y a-f. Los literales hexadecimales deben empezar por 0x.

Nota

El estándar SQL-92 requiere que los literales hexadecimales aparezcan entre comillas sencillas; no obstante, Buscar no admite esa notación.

Booleano

Los literales booleanos representan valores lógicos y pueden ser TRUE o FALSE. No escriba los literales booleanos entre comillas sencillas o se interpretarán como literales de cadena.

Fecha

Los literales de fecha representan fechas específicas, marcas de tiempo o tiempos relativos y se deben escribir entre comillas sencillas. Las fechas deben tener el formato año/mes/día o año-mes-día, donde mes, día y año son números. Especifique el año con un valor de cuatro dígitos, por ejemplo, 2004. Los valores de hora deben tener el formato horas:minutos:segundos. La sintaxis de tiempo relativo se basa en la Función DATEADD de la sintaxis SQL de Windows SharePoint Services Search.

Distinción entre mayúsculas y minúsculas

Las consultas de Buscar en Windows SharePoint Services no distinguen entre mayúsculas y minúsculas. Esto incluye las palabras clave de consulta (SELECT es idéntico a Select, select y sELect) y los términos de búsqueda. Si un identificador o un literal usa caracteres Unicode con semánticas de asignación de mayúsculas y minúsculas, el motor de búsqueda considera que todos los casos son equivalentes.

Sin distinción de acentos

Las consultas de Buscar no distinguen entre mayúsculas y minúsculas ni entre acentos cuando usan el predicado FREETEXT o el predicado CONTAINS. Una búsqueda del término "resume" también devuelve los documentos que contengan "résumé". Si un identificador o un literal contiene caracteres Unicode acentuados, la consulta de búsqueda busca también las entradas que contengan caracteres Unicode combinados que usen el carácter base del carácter acentuado en el identificador o el literal.

Nota

No es el caso de los intervalos de caracteres 0x2e81-f8ff y 0x1100-0x11ff.

Descripción de valores de relevancia

Si se usan en una base de datos relacional, las filas devueltas por una consulta de búsqueda deben cumplir todas las condiciones establecidas por la consulta. Por el contrario, una consulta de Buscar puede devolver documentos que reúnen las condiciones de búsqueda con distintos grados.

Por ejemplo, una búsqueda del término "programa" en una base de datos relacional produce registros que contienen esta ortografía concreta de la palabra. El hecho de que el registro contenga una o cien apariciones de la palabra no influye en los resultados. Por el contrario, la Buscar devuelve un valor de relevancia asociado con los documentos que coinciden. La relevancia de los documentos que contienen "programa" en el título es mayor que la de los documentos que sólo contienen la palabra en el último párrafo. De forma similar, los documentos que contienen variantes del término de búsqueda, por ejemplo "programas" y "programación", también coinciden y los devuelve la consulta.

Las consultas de Buscar devuelven valores enteros de relevancia en la columna denominada "clasificación".

Además:

  • Los valores de clasificación devueltos por la consulta son enteros del 0 al 1000.

  • Los valores de clasificación más altos indican que esos documentos coinciden más con las condiciones de búsqueda que otros.

  • Los valores de clasificación sólo se aplican a la consulta actual, por lo que no se pueden comparar para los resultados de las diferentes consultas.

  • Los valores de clasificación son relativos a los demás documentos que coinciden con la consulta. Por lo tanto, el valor de clasificación de un documento concreto dependerá de los demás documentos que coinciden también con la consulta.

  • El valor de clasificación de los elementos que coinciden con un predicado totalmente relacional es 1000.

Uso de búsquedas localizadas

La Buscar en Windows SharePoint Services admite la búsqueda completa de Unicode. Puede indizar documentos que usen Unicode y crear consultas de búsqueda con literales e identificadores Unicode. Sin embargo, la configuración del lenguaje de una aplicación o el sistema operativo puede tener un efecto de gran alcance en el funcionamiento de la Buscar.

Configuración regional del sistema y de los documentos

La configuración del sistema operativo (o incluso de una aplicación) para que use un idioma o una configuración regional concretos afecta a varias configuraciones. Entre estas configuraciones se incluyen el formato numérico, el formato de fecha, el formato de moneda, la asignación de mayúsculas y minúsculas, el criterio de ordenación del diccionario o la tokenización. Aunque estas configuraciones permiten que Enterprise Search proporcione una excelente compatibilidad localizada, se pueden producir resultados inesperados al buscar en documentos en una configuración regional mediante un sistema con otra configuración regional.

Por ejemplo, la lista de palabras irrelevantes (palabras descartadas durante la indización y de las consultas porque no aportan ningún significado o contexto) de cada idioma son muy diferentes. En alemán, la palabra die equivale a la palabra en inglés the. Si indiza un documento en alemán y busca "die" con un sistema de consulta en inglés, puede que se devuelvan documentos, aunque la palabra se debería omitir. Si en un sistema en alemán se especifica la misma consulta, se devolverá un error que indica que la consulta sólo contiene palabras irrelevantes.

Cuando el objeto IFilter procesa el contenido y las propiedades de texto de un documento, notifica al indizador de contenido el idioma del documento. Con esta información, Enterprise Search puede aplicar el separador de palabras y la lista de palabras irrelevantes adecuados.

Especificación de idiomas

Puede especificar el idioma usado en las consultas de búsqueda. Los predicados FREETEXT y CONTAINS de la cláusula WHERE son compatibles con la especificación de idioma. Para indicar el idioma de la consulta, proporcione un identificador de configuración regional numérico (LCID) en el predicado CONTAINS o FREETEXT con la siguiente sintaxis:

CONTAINS | FREETEXT

([<column_identifier>,]'<content_search_condition>' [,LCID])

Para obtener más información, consulte la sintaxis de los predicados CONTAINS y FREETEXT.

En esta sección

Extensiones SQL en Windows SharePoint Services Search

Características de SQL no disponibles en la búsqueda de Windows SharePoint Services

Vea también

Otros recursos

Sintaxis SQL de búsqueda de Windows SharePoint Services
Modelo de objetos de consulta de la búsqueda de Windows SharePoint Services
Servicio web de consulta de Windows SharePoint Services