yaz_search() prepares for a search on the given connection.
The connection resource returned by yaz_connect().
This parameter represents the query type - only
is supported now in which case the third argument specifies a Type-1
query in prefix query notation.
The RPN query is a textual representation of the Type-1 query as
defined by the Z39.50 standard. However, in the text representation
as used by YAZ a prefix notation is used, that is the operator
precedes the operands. The query string is a sequence of tokens where
white space is ignored unless surrounded by double quotes. Tokens beginning
with an at-character (
@) are considered operators,
otherwise they are treated as search terms.
|intersection of query1 and query2|
|union of query1 and query2|
|query1 and not query2|
|result set reference|
|specifies attribute-set for query. This construction is only allowed once - in the beginning of the whole query|
|applies attribute to query. The type and value are integers specifying the attribute-type and attribute-value respectively. The set, if given, specifies the attribute-set.|
You can find information about attributes at the » Z39.50 Maintenance Agency site.
You can search for simple terms, like this:
which matches documents where "computer" occur. No attributes are specified.
matches documents where "knuth donald" occur (provided that the server supports phrase search).
This query applies two attributes for the same phrase.
@attr 1=1003 @attr 4=1 "knuth donald"
First attribute is type 1 (Bib-1 use), attribute value is 1003 (Author). Second attribute has is type 4 (structure), value 1 (phrase), so this should match documents where Donald Knuth is author.
@and @or a b @not @or c d e
would in infix notation look like
(a or b) and ((c or d) not
Another, more complex, one:
@attrset gils @and @attr 1=4 art @attr 1=2000 company
The query as a whole uses the GILS attributeset. The query matches
art occur in the title (GILS,BIB-1)
and in which
company occur as Distributor (GILS).