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 para uma busca
yaz_search() prepara uma busca na conexão fornecida.
Assim como yaz_connect(), esta função não é bloqueante e apenas prepara uma pesquisa a ser executada posteriormente quando yaz_wait() for chamada.
id
O recurso de conexão retornado por yaz_connect().
type
Este parâmetro representa o tipo de consulta - apenas "rpn"
é suportado atualmente, caso em que o terceiro argumento especifica uma consulta do Tipo 1
na notação de consulta prefixada.
query
A consulta RPN é uma representação textual da consulta Tipo 1, conforme
definida pelo padrão Z39.50. No entanto, na representação textual
usada pelo YAZ, é utilizada uma notação de prefixo, ou seja, o operador
precede os operandos. A string de consulta é uma sequência de tokens onde
espaços em branco são ignorados, a menos que estejam entre aspas duplas. Tokens que começam
com um caractere arroba (@
) são considerados operadores,
caso contrário, são tratados como termos de pesquisa.
Construção | Descrição |
---|---|
@and consulta1 consulta2 |
intersecção de consulta1 e consulta2 |
@or consulta1 consulta2 |
união de consulta1 e consulta2 |
@not consulta1 consulta2 |
consulta1 e não consulta2 |
@set nome |
referência de conjunto de resultados |
@attrset consulta de definição |
especifica definição de atributo para a consulta. Esta construção é permitida somente uma vez - no início da consulta completa |
@attr [set] tipo=valor consulta |
aplica atributo à consulta. O tipo e o valor são inteiros especificando o tipo e o valor do atributo, respectivamente. O conjunto, se fornecido, especifica o conjunto de atributos. |
Pode-se encontrar informações sobre atributos no site » Z39.50 Maintenance Agency.
Nota:
Se desejar usar uma notação mais amigável, use o analisador CCL - funções yaz_ccl_conf() e yaz_ccl_parse().
Exemplo #1 Exemplos de consulta
Pode-se pesquisar por termos simples, como este:
computer
A consulta
"knuth donald"
Esta consulta aplica dois atributos para a mesma frase.
A consulta
@and @or a b @not @or c d e
(a or b) and ((c or d) not
e)
.
Outra, mais complexa:
@attrset gils @and @attr 1=4 art @attr 1=2000 company
art
ocorre no título (GILS,BIB-1)
e em que company
ocorre como Distribuidor (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);
}
?>