(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).