PHP 4 >= 4.0.1, PECL yaz >= 0.9.0
yaz_search - Prepares for a search

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

yaz_search prepares for a search on the given connection.

Like yaz_connect this function is non-blocking and only prepares for a search to be executed later when yaz_wait is called.



The connection resource returned by yaz_connect.


This parameter represents the query type - only "rpn" 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.

RPN Operators
Construct Description
@and query1 query2 intersection of query1 and query2
@or query1 query2 union of query1 and query2
@not query1 query2 query1 and not query2
@set name result set reference
@attrset set query specifies attribute-set for query. This construction is only allowed once - in the beginning of the whole query
@attr [set] type=value 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.


If you would like to use a more friendly notation, use the CCL parser - functions yaz_ccl_conf and yaz_ccl_parse.

Return Values

Returns true on success or false on failure.

Function yaz_search:

  • Manual

YAZ Functions

Most used PHP functions