Compartir a través de


Cláusula WHERE de la sintaxis SQL del motor de búsqueda Enterprise Search

Se usa para especificar las condiciones que determinan si se incluye un documento en los resultados que devuelve la consulta.

…WHERE [<group_aliases>] <search_condition>

Comentarios

En el nivel superior, hay dos partes para la sintaxis de la cláusula WHERE: la columna o columnas que se van a buscar y la condición de búsqueda.

Para simplificar las consultas complejas, se puede asignar un alias a un grupo de una o varias columnas. Para obtener más información acerca de los alias de grupo, consulte Predicado de alias de grupo WITH -- AS de la sintaxis SQL del motor de búsqueda Enteprise Search.

La parte de la condición de búsqueda de la cláusula WHERE especifica los criterios coincidentes para la búsqueda. Los documentos se devuelven si cumplen las comparaciones y combinaciones lógicas especificadas en la consulta. El resultado de una condición de búsqueda es un valor booleano, TRUE o FALSE. Si el resultado es verdadero, TRUE, se incluye el documento. Si por el contrario el resultado es falso, FALSE, no se incluye.

Los documentos devueltos en una consulta de Enterprise Search tienen asignados valores de clasificación en función del grado de coincidencia con las condiciones de búsqueda.

Especificación de ámbitos de búsqueda

Puede indicar si los resultados de la búsqueda deben incluir el contenido de un ámbito de búsqueda determinado en una condición de búsqueda especificada en la cláusula WHERE. A continuación, aparece la sintaxis:

…FROM scope() WHERE "scope"=<search scope name>…

Por ejemplo:

SELECT title, author, rank FROM scope() WHERE "scope"='All Sites'

Predicados de búsqueda

Los predicados de búsqueda son expresiones que señalan un hecho sobre un valor. Los documentos que coinciden con los requisitos de predicado tienen un valor adecuado para la propiedad especificada en el predicado.

Una condición de búsqueda se compone de uno o varios predicados o condiciones de búsqueda, combinados mediante los operadores lógicos AND, OR o AND NOT. El operador unario opcional NOT se puede usar para negar el valor lógico de un predicado o una condición de búsqueda. Se pueden usar paréntesis para agrupar y anidar términos lógicos.

En la siguiente tabla se muestra el orden de prioridad de los operadores lógicos.

Orden (prioridad) Operador lógico

Primero (superior)

NOT

Segundo

AND

Tercero (inferior)

OR

Los operadores lógicos del mismo tipo son asociativos y no hay ningún orden de cálculo específico. Por ejemplo, (A AND B) AND (C AND D) se puede calcular como (B AND C) AND (A AND D), sin que se produzca ningún cambio en el resultado lógico.

Nota

No se puede aplicar el operador lógico unario NOT al predicado CONTAINS o al predicado FREETEXT si ese predicado es el primero en la cláusula WHERE. Por ejemplo,

WHERE NOT CONTAINS ('computer')

no se acepta; sin embargo,

WHERE CONTAINS ('software') AND NOT CONTAINS ('computer')

se acepta.

En las consultas complejas, es posible que desee destacar más las coincidencias de algunas columnas que de otras. Por ejemplo, al buscar documentos que traten del "diseño de software", encontrar el término de búsqueda en el título del documento tiene más probabilidad de ser una coincidencia "buena" que encontrar las palabras individuales dentro del texto del documento. Para influir en la clasificación de documentos de esta manera, SQL admite la ponderación de las condiciones de búsqueda. Para obtener más información acerca de la ponderación de columnas, consulte Predicado CONTAINS en la sintaxis de SQL del motor de búsqueda Enterprise Search y Predicado FREETEXT en la sintaxis SQL del motor de búsqueda Enterprise Search.

Hay dos grupos de predicados de búsqueda en Enterprise Search. Los predicados de búsqueda de texto completo suelen coincidir con el significado del contenido, el título y otras columnas, y admiten coincidencias lingüísticas (por ejemplo, formas alternativas de la palabra, frases o búsqueda por proximidad). Por el contrario, los predicados de búsqueda de texto no completo coinciden con el valor de las columnas especificadas y no incluyen ningún procesamiento lingüístico especial, pero en varios casos ofrecen la coincidencia de patrones basados en caracteres.

Nota

Si la consulta devuelve un documento porque un predicado de texto no completo se evalúa como TRUE para ese documento, el valor de clasificación se calcula como 1000.

En las siguientes tablas se describen los predicados de búsqueda de texto completo y no completo.

Predicado de texto completo Descripción

CONTAINS

Admite búsquedas complejas para los términos en las columnas de texto de documento (por ejemplo, título, contenido). Puede buscar formas derivadas de los términos de búsqueda, probar la proximidad de los términos y realizar comparaciones lógicas. Los términos de búsqueda pueden incluir caracteres comodín.

FREETEXT

Búsquedas de documentos que coinciden con el significado de la frase de búsqueda. Coincidirán las palabras relacionadas y frases similares, con la columna de clasificación calculada en función del grado de coincidencia del documento con la frase de búsqueda. Los términos de búsqueda no pueden incluir caracteres comodín.

Predicado que no es de texto completo Descripción

LIKE

Los valores de columna se comparan mediante una coincidencia de patrón simple con caracteres comodín.

Comparación de valores literales

Los valores de columna se comparan con los valores literales de cadena, fecha, marca de tiempo, numérico y otros valores literales. Este predicado admite igualdades y desigualdades, como mayor y menor que.

Comparaciones (ARRAY) de múltiples valores

Las columnas de múltiples valores se comparan con una matriz de múltiples valores de literales.

NULL

Los valores de columna no definidos para el documento, se pueden detectar mediante el predicado NULL.

En esta sección

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

Predicados de texto completo en la sintaxis SQL del motor de búsqueda Enterprise Search

Predicados sin texto completo de la sintaxis SQL del motor de búsqueda Enterprise Search

Vea también

Otros recursos

Instrucción SELECT de la sintaxis SQL del motor de búsqueda Enterprise Search
Cláusula FROM en la sintaxis SQL del motor de búsqueda Enterprise Search