(PHP 4 >= 4.0.1, PECL yaz >= 0.9.0)
yaz_search — Prepara una búsqueda
$id
, string $type
, string $query
) : boolyaz_search() prepara una búsqueda en la conexión dada.
Como yaz_connect() esta función es no bloqueante y únicamente prepara una búsqueda para ser ejecutada posteriormente cuando se llame a la función yaz_wait() .
id
El recurso de conexión devuelto por yaz_connect().
type
Este parámetro representa el tipo de la consulta - únicamente "rpn" está soportado ahora, en cuyo caso el tercer argumento especifica una consulta de tipo Type-1 en notación de prefijo de consulta.
query
La consulta RPN es una representación textual de la consulta Type-1 tal y como está definida por el estandard Z39.50 . Sin embargo, en la representación del texto utilizada por YAZ se necesita una notación de prefijo, es decir que el operador precede a los operandos. El string de la consulta es una secuencia de tokens donde se ignora el espacio en blanco a menos que esté rodeado de dobles comillas. Los Tokens que empiecen con una arroba (@) se considerarán operadores, de otro modo, se tratarán como términos de búsqueda.
Sintaxis | Descripción |
---|---|
@and query1 query2 | intersección de las consultas query1 y query2 |
@or query1 query2 | unión de las consultas query1 y query2 |
@not query1 query2 | query1 y no query2 |
@set name | conjunto resultado de referencia |
@attrset set query | especifica el conjunto de atributos para la consulta. Esta construcción sólo se permite una sola vez - en el inicio de la consulta |
@attr [set] type=value query | aplica atributos a la consulta. El tipo y valor son enteros especificando el tipo del atributo y valor del atributo respectivamente. El conjunto, si se informa, especifica el conjunto atributo. |
Se muestra más información sobre atributos en el link » Z39.50 Maintenance Agency site.
Nota:
Si se desea utilizar una notación más amigable, utilizar el interpretador CCL - functiones yaz_ccl_conf() y yaz_ccl_parse().
Devuelve TRUE
en caso de éxito o FALSE
en caso de error.
Ejemplo #1 Query Examples
Se puede buscar por términos sencillos, como en el caso siguiente:
computer
La consulta
"knuth donald"
Esta consulta aplica dos atributos para la misma frase.
La consulta
@and @or a b @not @or c d e
Otro ejemplo, más complejo:
@attrset gils @and @attr 1=4 art @attr 1=2000 company