• « yaz_schema
  • yaz_set_option »
  • PHP Manual
  • Funções de YAZ
  • Prepara para uma busca

yaz_search

(PHP 4 >= 4.0.1, PECL yaz >= 0.9.0)

yaz_search — Prepara para uma busca

Descrição

yaz_search(resource $id, string $type, string $query): bool

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.

Parâmetros

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.

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

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Exemplos

Exemplo #1 Exemplos de consulta

Pode-se pesquisar por termos simples, como este:

computer
que corresponde a documentos onde existe a ocorrência de "computer". Nenhum atributo é especificado.

A consulta

"knuth donald"
corresponde a documentos onde "knuth donald" ocorre (desde que o servidor suporte pesquisa de frase).

Esta consulta aplica dois atributos para a mesma frase.

@attr 1=1003 @attr 4=1 "knuth donald"
O primeiro atributo é do tipo 1 (uso Bib-1), o valor do atributo é 1003 (Autor). O segundo atributo é do tipo 4 (estrutura), o valor é 1 (frase), portanto, deve corresponder a documentos em que Donald Knuth é o autor.

A consulta

@and @or a b @not @or c d e
ficaria em notação infixa como (a or b) and ((c or d) not e).

Outra, mais complexa:

@attrset gils @and @attr 1=4 art @attr 1=2000 company
A consulta como um todo utiliza o conjunto de atributos GILS. A consulta corresponde a documentos em que art ocorre no título (GILS,BIB-1) e em que company ocorre como Distribuidor (GILS).