yaz_search

(PHP 4 )

yaz_search -- Prépares une recherche

Description

int yaz_search (int id, string type, string query)

yaz_search() prépare une recherche sur le serveur identifié par id. type représente le type de requête : seul RPN est supporté actuellement, et dans ce cas, le troisième argument est un préfixe de notation de requête utilisé par YAZ. Comme pour yaz_connect(), yaz_search() n'est pas bloquante, et ne fait que préparer la recherche pour exécution ultérieure, avec yaz_wait().

Requêtes RPN

Les requêtes RPN sont des représentation textuelles des requêtes de type Type-1, comme définit dans le standard Z39.50. Cependant, dans la représentation textuelle utilisée par YAZ, une notation à préfixage est utilisée, c'est-à-dire que l'opérateur précédent l'opérande. La chaîne de requête est une séquence de mots réservés, où les espaces sont ignorés, à moins qu'ils n'ai été mis entre guillemets doubles. Les mots réservés qui commencent par un arobase (@) sont considérés comme des opérateurs et traités comme tels.

Tableau 1. Opérateurs RPN

SyntaxeDescription
@and query1 query2intersection des requêtes query1 et query2
@or query1 query2union des requêtes query1 et query2
@not query1 query2requêtes "query1 et non(query2)"
@set namenomme le résultat
@attrset set queryspécifie le jeu d'attributs de la requête. Cette construction n'est autorisée qu'une seule fois, au début d'une requête.
@attr set type=value queryApplique les attributs à une requête. Le type et la valeur sont des entiers indiquant les types et valeurs des attributs, dans cet ordre. Le jeu, si fourni, spécifie le jeu d'attribut utilisé.

Les requêtes suivantes illustrent des requêtes valides :

ordinateur

Recherche les documents qui contiennent le mot "ordinateur". Aucun attribut n'est spécifié.

"serveur rapide"

Recherche les documents qui contiennent les mots "serveur rapide"

@attr 1=4 php

L'attribut est de type 1 (Bib-1 use), sa valeur est 4 (Title, titre) : cette requête recherche les documents où le mot "php" est dans le titre.

@attrset gils @and @attr 1=4 php @attr 1=1003 "Rasmus Lerdorf"

Cette requête utilise tout le jeu d'attributs GILS. Elle recherche les documents dont le titre contient "php", et qui contiennent le nom "Rasmus Lerdorf" comme auteur.