Quick Reference For Attribute Fields 
(eg: "@attr 2=" refers to the Relation attribute) 
1 = Use Field
2 = Relation
3 = Position
4 = Structure
5 = Truncate
6 = Completeness(PHP 4 >= 4.0.1, PECL yaz >= 0.9.0)
yaz_search — Prepara una búsqueda
yaz_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() .
idEl 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 | 
|---|---|
| @andquery1 query2 | intersección de las consultas query1 y query2 | 
| @orquery1 query2 | unión de las consultas query1 y query2 | 
| @notquery1 query2 | query1 y no query2 | 
| @setname | conjunto resultado de referencia | 
| @attrsetset 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().
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
(a or b) and ((c or d) not 
    e).
   Otro ejemplo, más complejo:
@attrset gils @and @attr 1=4 art @attr 1=2000 company
art aparece en el título (GILS,BIB-1)
    y en los que company aparece como Distributor (GILS).
   Quick Reference For Attribute Fields 
(eg: "@attr 2=" refers to the Relation attribute) 
1 = Use Field
2 = Relation
3 = Position
4 = Structure
5 = Truncate
6 = CompletenessTo display holdings data set the syntax and the record format to "opac" (at least for Horizon ILS). It will give you an xml, containg <holding> elements with all info:
<?php
$z = yaz_connect(...
yaz_syntax($z, 'opac');
yaz_search($z, 'rpn', '@attr 1=4 "title%"');
yaz_wait();
$hits = yaz_hits($z);
yaz_range($z, 1, $hits);
yaz_present($z);
for($i = 1; $i <= $hits; $i++)
       my_display(yaz_record($z, $i, 'opac'));
yaz_close($z);
function my_display($s)
{
  $lines = explode("\n", trim($s));
    var_dump($lines);
}
?>