(PHP 4 >= 4.0.1, PECL yaz:0.9-1.0.9)
yaz_search вЂ” Prepares for a search
yaz_search() prepares for a search on the given connection.
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.
|@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.
Returns TRUE on success or FALSE on failure.
Example#1 Query Examples
You can search for simple terms, like this:
This query applies two attributes for the same phrase.
@attr 1=1003 @attr 4=1 "knuth donald"
@and @or a b @not @or c d e
Another, more complex, one:
@attrset gils @and @attr 1=4 art @attr 1=2000 company