(PHP 4 >= 4.0.1, PECL yaz >= 0.9.0)
yaz_search — Prepares for a search
$id
, string $type
, string $query
): boolyaz_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.
id
The connection resource returned by yaz_connect().
type
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.
query
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.
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.
Note:
If you would like to use a more friendly notation, use the CCL parser - functions yaz_ccl_conf() and yaz_ccl_parse().
Returns true
on success or false
on failure.
Example #1 Query Examples
You can search for simple terms, like this:
computer
The query
"knuth donald"
This query applies two attributes for the same phrase.
The query
@and @or a b @not @or c d e
(a or b) and ((c or d) not
e)
.
Another, more complex, one:
@attrset gils @and @attr 1=4 art @attr 1=2000 company
art
occur in the title (GILS,BIB-1)
and in which company
occur as Distributor (GILS).