Quick Reference For Attribute Fields 
(eg: "@attr 2=" refers to the Relation attribute) 
1 = Use Field
2 = Relation
3 = Position
4 = Structure
5 = Truncate
6 = Completeness(PHP 4 >= 4.0.1, PECL yaz >= 0.9.0)
yaz_search — Подготовка поиска
yaz_search() подготавливает поиск на заданном соединении.
Также как и yaz_connect() эта функция неблокирующая и только подготавливает условия поиска, который будет выполнен функцией yaz_wait().
idДескриптор соединения, возвращаемый функцией yaz_connect().
type
       Данный параметр представляет собой тип запроса. Поддерживается только тип
       "rpn". В этом случае третий аргумент определяет запрос Type-1
       в префиксной нотации запросов.
      
query
       Запрос RPN является текстовым представлением запроса Type-1, как указано
       в стандарте Z39.50. Тем не менее в текстовом представлении, используемом
       в YAZ, применяется префиксная нотация, т.е. оператор предшествует операнду.
       Строка запроса представляет собой последовательность лексем(токенов), в которой
       игнорируются пробельные символы, кроме тех, что находятся между двойными кавычками.
       Лексемы, которые начинаются с символа @ являются операторами, иначе
       они воспринимаются как поисковый термин.
      
| Конструкция | Описание | 
|---|---|
| @andquery1 query2 | пересечение query1 и query2 | 
| @orquery1 query2 | объединение query1 и query2 | 
| @notquery1 query2 | query1 и не query2 | 
| @setname | ссылка на набор возвращаемых значений | 
| @attrsetset query | определяет набор атрибутов setдля
           запросаquery. Эта конструкция доступна
           только один раз - в самом начале запроса. | 
| @attr[set] type=value query | устанавливает атрибуты запроса. Значения typeиvalue- целочисленные и определяют тип атрибута и
           тип значения соответственно.
           Значениеset, если оно задано, определяет настройку атрибутов. | 
Всю информацию о доступных атрибутах вы можете найти на сайте » Z39.50 Maintenance Agency
Замечание:
Если вы хотите использовать более дружественную нотацию, используйте CCL парсер - функции yaz_ccl_conf() и yaz_ccl_parse().
   Функция возвращает true, если выполнилась успешно, или false, если возникла ошибка.
  
Пример #1 Примеры запросов
Вы можете использовать простые термы, например:
computer
запрос
"knuth donald"
Запрос содержит два атрибута для одной фразы.
запрос
@and @or a b @not @or c d e
(a или b) и ((c или d) и не
    e).
   ещё один более сложный запрос:
@attrset gils @and @attr 1=4 art @attr 1=2000 company
art встречается в заглавии (GILS,BIB-1)
    и company в поставщиках.
   Quick Reference For Attribute Fields 
(eg: "@attr 2=" refers to the Relation attribute) 
1 = Use Field
2 = Relation
3 = Position
4 = Structure
5 = Truncate
6 = CompletenessTo display holdings data set the syntax and the record format to "opac" (at least for Horizon ILS). It will give you an xml, containg <holding> elements with all info:
<?php
$z = yaz_connect(...
yaz_syntax($z, 'opac');
yaz_search($z, 'rpn', '@attr 1=4 "title%"');
yaz_wait();
$hits = yaz_hits($z);
yaz_range($z, 1, $hits);
yaz_present($z);
for($i = 1; $i <= $hits; $i++)
       my_display(yaz_record($z, $i, 'opac'));
yaz_close($z);
function my_display($s)
{
  $lines = explode("\n", trim($s));
    var_dump($lines);
}
?>