Compartir a través de


Información de lenguaje de consulta SQL el motor de búsqueda Enteprise Search

Enterprise Search de Microsoft Office SharePoint Server 2007 ofrece características de búsqueda y rastreo de contenido que admiten la búsqueda de texto completo. El lenguaje de consulta que usa Enterprise Search extiende las sintaxis de consulta de base de datos SQL-92 y SQL-99 estándar para mejorar su utilidad con las búsquedas basadas en texto.

Identificadores

Los identificadores especifican los nombres de las columnas (a menudo denominadas propiedades), catálogos y 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, que se diferencian por los caracteres usados en el nombre de identificador:

  • Identificadores normales   Contienen sólo los caracteres de la A a la Z, de la a a la z, del 0 al 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 identificador de columna especial si desea especificar que Enterprise Search 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. Puede usar los literales para comparar valores de columna o especificar términos de búsqueda. Enterprise Search de Microsoft Office SharePoint Server 2007 admite los siguientes tipos de literales.

Cadena

Los literales de cadena no tienen límite de longitud y pueden contener caracteres ANSI o Unicode. Se deben escribir entre comillas sencillas. Para incluir una comilla sencilla dentro de un literal de cadena, debe escribir dos comillas sencillas. Para representar una cadena vacía, use dos comillas sencillas consecutivas ('').

Numéricos

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

Hexadecimales

Los literales hexadecimales representan un entero sin signo especificado en notación hexadecimal y pueden contener los dígitos del 0 al 9 y las letras de la A a la F y de la a a la f. Los literales hexadecimales deben empezar por 0x.

Nota

El estándar SQL-92 requiere que los literales hexadecimales se escriban entre comillas sencillas; sin embargo, Enterprise Search no admite esa notación.

Booleanos

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

Fecha

Los literales de fecha representan fechas específicas, marcas de hora u horas relativas, 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 horas relativas se basa en la Función DATEADD en la sintaxis SQL del motor de búsqueda Enterprise Search.

Distinción entre mayúsculas y minúsculas

Las consultas de Enterprise Search de Microsoft Office SharePoint Server 2007 no distinguen entre mayúsculas y minúsculas. Esto incluye las palabras clave de consulta (SELECT es idéntico a Select, select y a sELect) y los términos de búsqueda. Si un identificador o 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 caracteres acentuados

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

Nota

Éste no es el caso para los rangos de caracteres 0x2e81-f8ff y 0x1100-0x11ff.

Información sobre los valores de relevancia

Cuando 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 Enterprise Search puede devolver documentos que cumplan las condiciones de búsqueda en distintos grados.

Por ejemplo, una búsqueda del término "programa" en una base de datos relacional produce registros que contienen la ortografía concreta de la palabra. Si el registro contiene una o cien apariciones de la palabra no influye en los resultados. Por el contrario, Enterprise Search 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. Del mismo modo, 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 Enterprise Search devuelven valores de relevancia enteros en la columna de rango.

Además:

  • Los valores de rango devueltos por la consulta son enteros del 0 al 1000.

  • Los valores de rango más altos indican que esos documentos ofrecen una mejor coincidencia con las condiciones de búsqueda que otros.

  • Los valores de rango 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 rango 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 rango de los elementos que coinciden con un predicado puramente relacional es 1000.

Uso de búsquedas localizadas

Enterprise Search de Microsoft Office SharePoint Server 2007 admite búsquedas en Unicode. Puede indizar documentos que usan Unicode y crear consultas de búsqueda con literales e identificadores Unicode. Sin embargo, la configuración de idioma de una aplicación o del sistema operativo puede tener efectos de gran alcance en la forma de trabajar de Enterprise Search.

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 determinado idioma o configuración regional, afecta a muchas opciones de configuración. Entre estas opciones de configuración se incluye el formato numérico, el formato de fecha, el formato de moneda, la asignación de mayúsculas y minúsculas, la ordenación del diccionario, la creación de tokens, etc. Aunque estas opciones de configuración permiten a Enterprise Search ofrecer una excelente compatibilidad localizada, se pueden producir resultados inesperados si se buscan documentos de una configuración regional a través de 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 luego busca "die" con un sistema de consulta en inglés, puede que se devuelvan documentos, aunque la palabra se debiera omitir. Si en un sistema en alemán se introduce la misma consulta, se devolverá un error que explica 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 que se usa en las consultas de búsqueda. Tanto el predicado FREETEXT como CONTAINS de la cláusula WHERE admiten 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 el motor de búsqueda Enterprise Search

Características de SQL no disponibles en el motor de búsqueda Enterprise Search

Cambios de la sintaxis SQL desde SharePoint Portal Server 2003

Vea también

Otros recursos

Referencia de sintaxis SQL del motor de búsqueda Enterprise Search
Referencia de sintaxis de palabra clave del motor de búsqueda Enterprise Search
Referencia de sintaxis de dirección URL del motor de búsqueda Enterprise Search
Introducción al modelo de objetos de consulta del motor de búsqueda Enterprise Search
Introducción al servicio web de consulta del motor de búsqueda Enterprise Search