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