Учебник РНР
Назад Вперёд

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