 |
(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". Атрибуты не специфицированы. Запрос совпадает с документами, где появляется слово
"donald knuth". Для запроса 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. |
|  |