(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, применяется префиксная нотация, т.е. оператор предшествует операнду. Строка запроса представляет собой последовательность лексем(токенов), в которой игнорируются пробельные символы, кроме тех, что находятся между двойными кавычками. Лексемы, которые начинаются с символа @ являются операторами, иначе они воспринимаются как поисковый термин.
Конструкция | Описание |
---|---|
@and query1 query2 | пересечение query1 и query2 |
@or query1 query2 | объединение query1 и query2 |
@not query1 query2 | query1 и не 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
ещё один более сложный запрос:
@attrset gils @and @attr 1=4 art @attr 1=2000 company