Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
YAZ-CLIENT(1)			   Commands			 YAZ-CLIENT(1)

NAME
       yaz-client - Z39.50/SRU client for implementors

SYNOPSIS

       yaz-client [-a apdulog] [-b berdump] [-c	cclfile] [-d dump]
		  [-f cmdfile] [-k size] [-m marclog] [-p proxy-addr]
		  [-q cqlfile] [-t dispcharset]	[-u auth] [-v loglevel]	[-V]
		  [-x] [server-addr]

DESCRIPTION
       yaz-client is a Z39.50[1]/SRU[2]	client (origin)	with a simple command
       line interface that allows you to test behavior and performance of
       Z39.50 targets and SRU servers.

       From YAZ	version	4.1.0 yaz-client may also operate as a Solr[3] Web
       Service client.

       If the server-addr is specified,	the client creates a connection	to the
       Z39.50/SRU target at the	address	given.

       When yaz-client is started it tries to read commands from one of	the
       following files:

          Command file	if it is given by option -f.

          .yazclientrc	in current working directory.

          .yazclientrc	in the user's home directory. The value	of the $HOME
	   environment variable	is used	to determine the home directory.
	   Normally, $HOME is only set on POSIX	systems	such as	Linux,
	   FreeBSD, Solaris.

OPTIONS
       -a filename
	   If specified, logging of protocol packages will be appended to the
	   file	given. If filename is specified	as -, the output is written to
	   stdout.

       -b filename
	   If specified, YAZ will dump BER data	in readable notation to	the
	   file	specified. If filename is specified as - the output is written
	   to stdout.

       -c filename
	   If specified, CCL configuration will	be read	from the file given.

       -d dump
	   If specified, YAZ will dump BER data	for all	PDUs sent and received
	   to individual files,	named dump.DDD.raw, where DDD is 001, 002,
	   003,	...

       -f cmdfile
	   Reads commands from cmdfile.	When this option is used, YAZ client
	   does	not read .yazclientrc from current directory or	home
	   directory.

       -k size
	   Sets	preferred messages and maximum record size for Initialize
	   Request in kilobytes. Default value is 65536	(64 MB).

       -m filename
	   If specified, retrieved records will	be appended to the file	given.

       -p proxy-addr
	   If specified, the client will use the proxy at the address given.
	   YAZ client will connect to a	proxy on the address and port given.
	   The actual target will be specified as part of the InitRequest to
	   inform the proxy about the actual target.

       -q filename
	   If specified, CQL configuration will	be read	from the file given.

       -t displaycharset
	   If displaycharset is	given, it specifies name of the	character set
	   of the output (on the terminal on which YAZ client is running).

       -u auth
	   If specified, the auth string will be used for authentication.

       -v level
	   Sets	the LOG	level to level.	Level is a sequence of tokens
	   separated by	comma. Each token is a integer or a named LOG item -
	   one of fatal, debug,	warn, log, malloc, all,	none.

       -V
	   Prints YAZ version.

       -x
	   Makes the YAZ client	print hex dumps	of packages sent and received
	   on standard output.

COMMANDS
       The YAZ client accepts the following commands.

       open zurl
	   Opens a connection to a server. The syntax for zurl is the same as
	   described above for connecting from the command line.

	   Syntax:

	   [(tcp|ssl|unix|http)':']host	[:port][/base]

       quit
	   Quits YAZ client

       find query
	   Sends a Search Request using	the query given. By default the	query
	   is assumed to be PQF. See command querytype for more	information.

       delete setname
	   Deletes result set with name	setname	on the server.

       base base1 base2	...
	   Sets	the name(s) of the database(s) to search. One or more
	   databases may be specified, separated by blanks. This command
	   overrides the database given	in zurl.

       show [start[+number [+resultset]]]
	   Fetches records by sending a	Present	Request	from the start
	   position given by start and a number	of records given by number,
	   from	the result set resultset. If start is not given, then the
	   client will fetch from the position of the last retrieved record
	   plus	1. If number is	not given, then	one record will	be fetched at
	   a time. If resultset	is not given, the most recently	retrieved
	   result set is used.

       scan term
	   Scans database index	for a term. The	syntax resembles the syntax
	   for find. If	you want to scan for the word water you	could write

		     scan water

	   but if you want to scan only	in, say	the title field, you would
	   write

		     scan @attr	1=4 water

       setscan set term
	   Scans database index	for a term within a result set.	This is
	   similar to the scan command but has a result	set as its first
	   argument.

       scanpos pos
	   Sets	preferred position for scan. This value	is used	in the next
	   scan. By default, position is 1.

       scansize	size
	   Sets	number of entries to be	returned by scan. Default number of
	   entries is 20.

       scanstep	step
	   Set step-size for scan. This	value is used in the next scan sent to
	   the target. By default step-size is 0.

       sort sortspecs
	   Sorts a result set. The sort	command	takes a	sequence of
	   space-separated sort	specifications,	with each sort specification
	   consisting of two space-separated words (so that the	whole
	   specification list is made up of an even number of words). The
	   first word of each specification holds a field (sort	criterion) and
	   the second holds flags. If the sort criterion includes = it is
	   assumed that	the SortKey is of type sortAttributes using Bib-1: in
	   this	case the integer before	= is the attribute type	and the
	   integer following = is the attribute	value. If no = character is in
	   the criterion, it is	treated	as a sortfield of type
	   InternationalString.	The flags word of each sort specification must
	   consist of s	for case sensitive or i	for case insensitive, and <
	   for ascending order or > for	descending order.

       sort+
	   Same	as sort	but stores the sorted result set in a new result set.

       authentication openauth
	   Sets	up an authentication string if a server	requires
	   authentication (v2 OpenStyle). The authentication string is first
	   sent	to the server when the open command is issued and the Z39.50
	   Initialize Request is sent, so this command must be used before
	   open	in order to be effective. A common convention for the authopen
	   string is that the username - and password is separated by a	slash,
	   e.g.	 myusername/mysecret.

       sru method version
	   Selects Web Service method and version. Must	be one of post,	get,
	   soap	(default) or solr. Version should be either 1.1, 1.2 or	2.0
	   for SRU. Other versions are allowed - for testing purposes (version
	   negotiation with SRU	server). The version is	currently not used for
	   Solr	Web Services

       list_all
	   This	command	displays status	and values for many settings.

       lslb n
	   Sets	the limit for when no records should be	returned together with
	   the search result. See the Z39.50 standard on set bounds[4] for
	   more	details.

       ssub n
	   Sets	the limit for when all records should be returned with the
	   search result. See the Z39.50 standard on set bounds[4] for more
	   details.

       mspn n
	   Sets	the number of records that should be returned if the number of
	   records in the result set is	between	the values of lslb and ssub.
	   See the Z39.50 standard on set bounds[4] for	more details.

       status
	   Displays the	values of lslb,	ssub and mspn.

       setname
	   Switches named result sets on and off. Default is on.

       cancel
	   Sends a Trigger Resource Control Request to the target.

       facets spec
	   Specifies requested facets to be used in search. The	notation is
	   specified in	???.

       format oid
	   Sets	the preferred transfer syntax for retrieved records.
	   yaz-client supports all the record syntaxes that currently are
	   registered. See Z39.50 Record Syntax	Identifiers[5] for more
	   details. Commonly used records syntaxes include usmarc, sutrs and
	   xml.

       elements	e
	   Sets	the element set	name for the records. Many targets support
	   element sets	B (for brief) and F (for full).

       close
	   Sends a Z39.50 Close	APDU and closes	connection with	the peer

       querytype type
	   Sets	the query type as used by command find.	The following is
	   supported: prefix for Prefix	Query Notation (Type-1 Query); ccl for
	   CCL search (Type-2 Query), cql for CQL (Type-104 search with	CQL
	   OID), ccl2rpn for CCL to RPN	conversion (Type-1 Query), cql2rpn for
	   CQL to RPN conversion (Type-1 Query).

       attributeset set
	   Sets	attribute set OID for prefix queries (RPN, Type-1).

       refid id
	   Sets	reference ID for Z39.50	Request(s).

       itemorder type no
	   Sends an Item Order Request using the ILL External.	type is	either
	   1 or	2 which	corresponds to ILL-Profile 1 and 2 respectively. The
	   no is the Result Set	position of the	record to be ordered.

       update action recid doc
	   Sends Item Update Request. The action argument must be the action
	   type: one of	insert,	replace, delete	and update. The	second
	   argument, recid, is the record identifier (any string). Third
	   argument which is optional is the record document for the request.
	   If doc is preceded with "<",	then the following characters are
	   treated as a	filename with the records to be	updated. Otherwise doc
	   is treated as a document itself. The	doc may	also be	quoted in
	   double quotes. If doc is omitted, the last received record (as part
	   of present response or piggybacked search response) is used for the
	   update.

       source filename
	   Executes list of commands from file filename, just like 'source' on
	   most	UNIX shells. A single dot (.) can be used as an	alternative.

       ! args
	   Executes command args in subshell using the system call.

       push_command command
	   The push_command takes another command as its argument. That
	   command is then added to the	history	information (so	you can
	   retrieve it later). The command itself is not executed. This
	   command only	works if you have GNU readline/history enabled.

       set_apdufile filename
	   Sets	that APDU should be logged to file filename. Another way to
	   achieve APDU	log is by using	command-line option -a.

       set_auto_reconnect flag
	   Specifies whether YAZ client	automatically reconnects if the	target
	   closes connection (Z39.50 only).

	   flag	must be	either on or off.

       set_auto_wait flag
	   Specifies whether YAZ client	should wait for	response protocol
	   packages after a request. By	default	YAZ client waits (on) for
	   response packages immediately after a command (find,	show) has been
	   issued. If off is used, YAZ client does not attempt to receive
	   packages automatically. These will have to be manually received
	   when	command	wait_response is used.

	   flag	must be	either on or off.

       set_marcdump filename
	   Specifies that all retrieved	records	should be appended to file
	   filename. This command does the same	thing as option	-m.

       schema schemaid
	   Specifies schema for	retrieval. Schema may be specified as an OID
	   for Z39.50. For SRU,	schema is a simple string URI.

       charset negotiationcharset [displaycharset] [[marccharset]]
	   Specifies character set (encoding) for Z39.50 negotiation / SRU
	   encoding and/or character set for output (terminal).

	   negotiationcharset is the name of the character set to be
	   negotiated by the server. The special name -	for negotiationcharset
	   specifies no	character set to be negotiated.

	   If displaycharset is	given, it specifies name of the	character set
	   of the output (on the terminal on which YAZ client is running). To
	   disable conversion of characters to the output encoding, the
	   special name	- (dash) can be	used. If the special name auto is
	   given, YAZ client will convert strings to the encoding of the
	   terminal as returned	by nl_langinfo call.

	   If marccharset is given, it specifies name of the character set of
	   retrieved MARC records from server. See also	marccharset command.

	       Note
	       Since character set negotiation takes effect in the Z39.50
	       Initialize Request you should issue this	command	before command
	       open is used.

	       Note
	       MARC records are	not covered by Z39.50 character	set
	       negotiation, so that's why there	is a separate character	that
	       must be known in	order to do meaningful conversion(s).

       negcharset charset
	   Specifies character set for negotiation (Z39.50). The argument is
	   the same as second argument for command charset.

       displaycharset charset
	   Specifies character set for output (display). The argument is the
	   same	as second argument for command charset.

       marccharset charset
	   Specifies character set for retrieved MARC records so that YAZ
	   client can display them in a	character suitable for your display.
	   See charset command.	If auto	is given, YAZ will assume that
	   MARC21/USMARC is using MARC8/UTF8 and ISO-8859-1 for	all other MARC
	   variants. The charset argument is the same as third argument	for
	   command charset.

       querycharset charset
	   Specifies character set for query terms for Z39.50 RPN queries and
	   Z39.50 Scan Requests	(termListAndStartPoint). This is a pure
	   client-side conversion which	converts from displayCharset to
	   queryCharset.

       set_cclfile filename
	   Specifies that CCL fields should be read from file file filename.
	   This	command	does the same thing as option -c.

       set_cqlfile filename
	   Specifies that CQL fields should be read from file file filename.
	   This	command	does the same thing as option -q.

       register_oid name class OID
	   This	command	allows you to register your own	object identifier - so
	   that	instead	of entering a long dot-notation	you can	use a short
	   name	instead. The name is your name for the OID, class is the
	   class, and OID is the raw OID in dot	notation. Class	is one of:
	   appctx, absyn, attet, transyn, diagset, recsyn, resform, accform,
	   extserv, userinfo, elemspec,	varset,	schema,	tagset,	general. If
	   you're in doubt use the general class.

       register_tab command string
	   This	command	registers a TAB	completion string for the command
	   given.

       sleep seconds
	   This	command	makes YAZ client sleep (be idle) for the number	of
	   seconds given.

       wait_response [ number]
	   This	command	makes YAZ client wait for a number of response
	   packages from target. If number is omitted, 1 is assumed.

	   This	command	is rarely used and is only useful if command
	   set_auto_wait is set	to off.

       xmles OID doc
	   Sends XML Extended Services request using the OID and doc given.

       zversion	ver
	   This	command	sets Z39.50 version for	negotiation. Should be used
	   before open.	By default 3 (version 3) is used.

       options op1 op2..
	   This	command	sets Z39.50 options for	negotiation. Should be used
	   before open.

	   The following options are supported:	search,	present, delSet,
	   resourceReport, triggerResourceCtrl,	resourceCtrl, accessCtrl,
	   scan, sort, extendedServices, level_1Segmentation,
	   level_2Segmentation,	concurrentOperations, namedResultSets,
	   encapsulation, resultCount, negotiationModel, duplicationDetection,
	   queryType104, pQESCorrection, stringSchema.

EXAMPLE
       The simplest example of a Prefix	Query would be something like

	       f knuth

       or

	       f "donald knuth"

       In those	queries, no attributes were specified. This leaves it up to
       the server what fields to search	but most servers will search in	all
       fields. Some servers do not support this	feature	though,	and require
       that some attributes are	defined. To add	one attribute you could	do:

	       f @attr 1=4 computer

       where we	search in the title field, since the use(1) is title(4). If we
       want to search in the author field and in the title field, and in the
       title field using right truncation it could look	something like this:

	       f @and @attr 1=1003 knuth @attr 1=4 @attr 5=1 computer

       Finally using a mix of Bib-1 and	GILS attributes	could look something
       like this:

	       f @attrset Bib-1	@and @attr GILS	1=2008 Washington @attr	1=21 weather

FILES
       yaz-<version>/client/client.c

       $HOME/.yazclientrc

       $HOME/.yazclient.history

SEE ALSO
       yaz(7) bib1-attr(7)

AUTHORS
       Index Data

NOTES
	1. Z39.50
	   https://www.loc.gov/z3950/agency/

	2. SRU
	   https://www.loc.gov/standards/sru/

	3. Solr
	   https://lucene.apache.org/solr/

	4. Z39.50 standard on set bounds
	   http://www.loc.gov/z3950/agency/markup/04.html#3.2.2.1.6

	5. Z39.50 Record Syntax	Identifiers
	   http://www.loc.gov/z3950/agency/defns/oids.html#5

YAZ 5.31.1			  12/19/2021			 YAZ-CLIENT(1)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=yaz-client&sektion=1&manpath=FreeBSD+Ports+14.3.quarterly>

home | help