yaz_search
(PHP 4 >= 4.0.1, PECL yaz >= 0.9.0)
yaz_search — Подготовка поиска
Описание
$id
, string $type
, string $query
) : boolyaz_search() подготавливает поиск на заданном соединении.
Также как и yaz_connect() эта функция неблокирующая и только подготавливает условия поиска, который будет выполнен функцией yaz_wait().
Список параметров
-
id
-
Дескриптор соединения, возвращаемый функцией yaz_connect().
-
type
-
Данный параметр представляет собой тип запроса. Поддерживается только тип
"rpn"
. В этом случае третий аргумент определяет запрос Type-1 в префиксной нотации запросов. -
query
-
Запрос RPN является текстовым представлением запроса Type-1, как указано в стандарте Z39.50. Тем не менее в текстовом представлении, используемом в YAZ, применяется префиксная нотация, т.е. оператор предшествует операнду. Строка запроса представляет собой последовательность лексем(токенов), в которой игнорируются пробельные символы, кроме тех, что находятся между двойными кавычками. Лексемы, которые начинаются с символа
@
являются операторами, иначе они воспринимаются как поисковый термин.Операторы RPN Конструкция Описание @and
query1 query2пересечение query1 и query2 @or
query1 query2объединение query1 и query2 @not
query1 query2query1 и не query2 @set
nameссылка на набор возвращаемых значений @attrset
set 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
в поставщиках.