|
(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. |
| |