yaz_search

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 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 , 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

Syntaxe
intersection des requêtes query1 et query2
union des requêtes query1 et query2
requêtes " query1 et non(query2) "
nomme le résultat
spé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 query Applique 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.