Google

NAME="GENERATOR" CONTENT="Modular DocBook HTML Stylesheet Version 1.7">

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重引用符で括られない限り空白文字は無 視されます。トークンは、アットマーク(@)で始ま り、演算子とみなされるか、そうでない場合は検索項目として処理され ます。

表 1RPN 演算子

構文説明
@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 クエリに属性を適用します。型と値は属性型と属性値をそれぞれ指 定する整数です。この組みが指定された場合、属性の組を指定しま す。

例 1クエリの例

クエリ
computer
は、"computer"を含む文書にマッチします。属性は指定されていません。

クエリ
"donald knuth"
は、"donald knuth" がある文書にマッチします。

クエリ
@attr 1=4 art
の場合、 属性型は1 (Bib-1 use)、属性の値は4 (Title)となります。このため、 titleにartが現れる文書にマッチします。

その他のより複雑なクエリの例:
@attrset gils @and @attr 1=4 art @attr 1=1003 "donald knuth"
このクエリは、GILS属性集合を使用しています。クエリはtitleに artが現れ、authorにdonald knuth が現れる文書にマッチします。