Функции Язык программирования PHP

yaz_search

(PHP 4 >= 4.0.1)

yaz_search - готовит для поиска.

Описание

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

yaz_search() готовит для поиска в цели/target с заданным id. Аргумент type представляет тип запроса - только "rpn" поддерживается сейчас, и в этом случае третий аргумент специфицирует Type-1 query (RPN). Как и yaz_connect(), эта функция является не-блокирующей и только подготавливает поиск, выполняемый позднее при вызове yaz_wait().

RPN query/запрос

RPN query это текстуальное представление Type-1 query, как определено в стандарте Z39.50. Однако в текстовом представлении в YAZ используется префиксная нотация, то есть операция предшествует операнду. Строка запроса/query string это последовательность лексем, где пробел игнорируется, если не окружён двойными кавычками. Лексемы, начинающиеся с at-символа (@), считаются операциями, иначе они рассматриваются как термины поиска.

Таблица 1. RPN-операции
Синтаксис Описание
@and query1 query2 пересечение query1 и query2
@or query1 query2 union/объединение query1 и query2
@not query1 query2 query1, и не query2
@set name ссылка на результирующий набор
@attrset set query специфицирует attribute-set для запроса. Эта конструкция допускается только однократно - в начале всего запроса/query
@attr set type=value query применяет атрибут к запросу. type и value это целые числа, специфицирующие attribute-type и attribute-value соответственно.
set, если задан, специфицирует attribute-set.
Пример 1. Примеры запроса

Query/запрос
computer

совпадает с документами, где появляется слово "computer". Атрибуты не специфицированы.

Запрос
"donald 
knuth"

совпадает с документами, где появляется слово "donald knuth".

Для запроса
@attr 
1=4 art

attribute type равен 1 (использование Bib-1), attribute value равно 4 Title), поэтому он должен совпасть с документами, где art появляется в заголовке.

Более сложный пример:
@attrset gils @and @attr 1=4 art @attr 1=1003 "donald knuth"

Этот запрос использует набор атрибутов GILS. Совпадает с документами, где art появляется в заголовке/title и donald knuth появляется в author.


Назад Оглавление Вперёд
yaz_scan Вверх yaz_sort

Сообщения об Ошибках

E_WARNING

По умолчанию предупреждения выводятся, но не прерывают выполнение скрипта. Они указывают на наличие проблемы, которая должна быть отловлена скриптом до выполнения вызова. Например, вызов ereg() с неверным регулярным выражением.

E_ERROR

Ошибки также выводятся по умолчанию, и выполнение скрипта останавливается после возврата из функции. Они указывают на ошибки, которые не могут быть устранены внутренними методами, как, например проблемы распределения памяти.

E_PARSE

Ошибки разбора могут генерироваться только разборщиком. Код выводится здесь только для полноты данных.

E_CORE_ERROR

Похоже на E_ERROR, за исключением того, что оно генерируется ядром PHP. Функции не должны генерировать этот тип ошибок.