yaz_search

(PHP 4 >= 4.0.1)

yaz_search -- 検索を準備する

説明

int yaz_search (int id, string type, string query)

yaz_search() は、指定したidを有するターゲット で検索を行う準備をします。type は、クエリの型を表します。現在、 "rpn" のみがサポートされており、この場合、3番目の引数はType-1クエ リ(RPN)を指定します。yaz_connect() と同じく、 この関数は、非ブロックモードで動作し、後で yaz_wait() がコールされた際に実行される検索の 準備をするだけです。

RPNクエリ

RPNクエリは、Z39.50規格により定義されたType-1 クエリのテキスト表 現です。しかし、YAZにより使用されるテキスト表現では、演算子がオペ ランドの前にある前置表記が使用されます。クエリ文字列はトークンの 並びであり、このトークンでは2重引用符で括られない限り空白文字は無 視されます。トークンは、アットマーク(@)で始ま り、演算子とみなされるか、そうでない場合は検索項目として処理され ます。

表 1. RPN 演算子

構文説明
@and query1 query2 query1 および query2の積集合
@or query1 query2 query1 および query2の和集合
@not query1 query2 query1 であり、query2でない
@set name 結果セットへのリファレンス
@attrset set query クエリの属性セットを指定します。この構造が使用できるの は全てのクエリの始めに一回だけです。
@attr set type=value query クエリに属性を適用します。型と値は属性型と属性値をそれぞれ指 定する整数です。この組みが指定された場合、属性の組を指定しま す。

以下は、有効なクエリ構造を説明するものです。

computer

"computer" がある文書にマッチします。属性は指定されてません。

"donald knuth"

"donald knuth" がある文書にマッチします。

@attr 1=4 art

属性型は1 (Bib-1 使用)で、属性値は 4(タイトル)です。これにより、 "art"がタイトルにある文書にマッチします。

@attrset gils @and @attr 1=4 art @attr 1=1003 "donald knuth"

このクエリは全体にGILS属性セットを使用します。このクエリはtitleに "art"があり、authorに"donald knuth"がある文書にマッチします。