Estructura de consulta

Cada término tiene un campo denominado occurs. El modo de establecerlo determina la estructura de la consulta: si todos los términos de búsqueda deben existir, si debe existir solo uno o cualquier otra combinación. Los valores posibles para occurs son MUST, SHOULD, MUST_NOT y MUST_FIELD.

Si se especifica MUST para el atributo occurs para un conjunto de términos entonces se devuelve un resultado sólo si se cumplen todas las condiciones. Si se especifica SHOULD para un conjunto de términos entonces se devolverá un resultado si se encuentran uno o varios de los términos. No obstante, si se combinan en una sola consulta se producirá un resultado indefinido y debe evitarse. Si es necesario construir consultas complejas con subconsultas AND y OR, entonces debe utilizar el atributo de consulta text descrito en el apartado Texto.

Si se especifica MUST_NOT para el atributo occurs, entonces solo se devolverán los documentos que no coincidan con el término. Los términos que especifican este pueden combinarse con términos que especifiquen otros valores para el atributo occurs.

El uso de la opción MUST_FIELD le permite construir una subconsulta que pruebe un campo de índice determinado para un valor de un conjunto de valores, es decir, una subconsulta OR dentro de la consulta principal. Debe establecerlo como valor de occurs para todos los términos relacionados con ese campo y añadir un término para cada valor aceptable. Los términos que utilizan MUST_FIELD pueden formar parte de una consulta general que utilice las opciones de términos MUST o SHOULD término de opciones.