YAZ yaz_search
(PHP 4 >= 4.0.1, PECL yaz >= 0.9.0)
yaz_search — 수색 준비
설명
yaz_search(resource $id
, string $type
, string $query
): bool
yaz_search()는 주어진 연결에서 검색을 준비합니다.
yaz_connect()와 마찬가지로 이 함수는 차단되지 않으며 yaz_wait()가 호출될 때 나중에 실행될 검색만 준비합니다.
매개변수
id
- yaz_connect()에서 반환된 연결 리소스입니다.
type
- 이 매개변수는 쿼리 유형을 나타냅니다. 이제
"rpn"
만 지원되며 이 경우 세 번째 인수는 접두사 쿼리 표기법에서 유형-1 쿼리를 지정합니다. id
- RPN 쿼리는 Z39.50 표준에 정의된 Type-1 쿼리의 텍스트 표현입니다. 그러나 YAZ에서 사용하는 텍스트 표현에서는 접두사 표기법이 사용됩니다. 즉, 연산자가 피연산자 앞에 옵니다. 쿼리 문자열은 큰따옴표로 묶이지 않는 한 공백이 무시되는 토큰 시퀀스입니다.
@
문자로 시작하는 토큰은 연산자로 간주되며, 그렇지 않으면 검색어로 처리됩니다.RPN Operators
Construct 설명 @and
query1 query2쿼리1과 쿼리2의 교집합 @or
query1 query2query1과 query2의 합집합 @not
query1 query2query1 and not query2 @set
name결과 집합 참조 @attrset
set query쿼리에 대한 속성 집합을 지정합니다. 이 구성은 전체 쿼리의 시작 부분에서 한 번만 허용됩니다. @attr
[set] type=value query쿼리에 속성을 적용합니다. 유형 및 값은 각각 속성 유형 및 속성 값을 지정하는 정수입니다. 주어진 경우 집합은 속성 집합을 지정합니다. » Z39.50 Maintenance Agency 사이트에서 속성에 대한 정보를 찾을 수 있습니다.
메모: 좀 더 친숙한 표기법을 사용하려면 CCL 파서를 사용하십시오 - 함수 yaz_ccl_conf() 및 yaz_ccl_parse().
반환 값
성공하면 true
를, 실패하면 false
를 반환합니다.
Examples
예제 #1 쿼리 예
다음과 같이 간단한 용어를 검색할 수 있습니다.
computer
"computer"가 발생하는 문서와 일치합니다. 속성이 지정되지 않았습니다.
쿼리
"knuth donald"
"knuth donald"가 발생하는 문서와 일치합니다(서버가 구문 검색을 지원하는 경우).
이 쿼리는 동일한 구에 대해 두 가지 속성을 적용합니다.
@attr 1=1003 @attr 4=1 "knuth donald"
첫 번째 속성은 유형 1(Bib-1 사용)이고 속성 값은 1003(저자)입니다. 두 번째 속성은 유형 4(구조), 값 1(구문)이므로 Donald Knuth가 작성자인 문서와 일치해야 합니다.
쿼리
@and @or a b @not @or c d e
중위 표기법에서 (a 또는 b) 및 ((c 또는 d) e)처럼 보이지 않습니다.
다른 하나는 더 복잡합니다.
@attrset gils @and @attr 1=4 art @attr 1=2000 company
쿼리는 전체적으로 GILS 속성 집합을 사용합니다. 이 쿼리는 제목에 아트가 있는 문서(GILS,BIB-1)와 회사가 Distributor(GILS)로 나오는 문서와 일치합니다.