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() .
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().
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 = Completeness
To 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);
}
?>