X-Git-Url: http://git.indexdata.com/?p=yaz-moved-to-github.git;a=blobdiff_plain;f=doc%2Fyaz-client-man.xml;h=4916c6192088376fd4b2a2429d4aff6124e0d6af;hp=c9e9a8b778f46e66078f4e0aafe20112cd362760;hb=191c5db0e914f9774413da50bb1963ecf22b2f5c;hpb=245a9ee60bf478011acf24aaa235a4ca7c575bf8 diff --git a/doc/yaz-client-man.xml b/doc/yaz-client-man.xml index c9e9a8b..4916c61 100644 --- a/doc/yaz-client-man.xml +++ b/doc/yaz-client-man.xml @@ -1,68 +1,107 @@ - + + %local; + + %entities; + + %idcommon; ]> - - + + YAZ + &version; + Index Data + + yaz-client 1 + Commands - + yaz-client - Z39.50/SRW client for implementors + Z39.50/SRU client for implementors yaz-client - - - - - - + + + + + + + + + + + + - addr + server-addr - - DESCRIPTION - - yaz-client is a Z39.50/SRW client (origin) with a - simple command line interface that allows you to test behavior and - performance of Z39.50 targets and SRW servers. - - - If the addr is specified, the client creates - a connection to the Z39.50/SRW target at the address. - - + + DESCRIPTION + + yaz-client is a + Z39.50/SRU + 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 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 is used to determine + the home directory. Normally, HOME is only set + on POSIX systems such as Linux, FreeBSD, Solaris. + + + + OPTIONS - -m filename - - If specified, retrieved records will be appended to the file given. - - - -a filename If specified, logging of protocol packages will be appended - file given. The special filename - - (dash) denotes standard output. + file given. If filename is + specified as -, the output is written + to stdout. - -u auth + -b filename - If specified, the auth string - will be used for authentication. + 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. @@ -73,18 +112,21 @@ - -q filename + -d dump - If specified, CQL configuration will be read from - the file given. + 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, .. - -p addr + -f cmdfile - If specified, the client will use the proxy at the address - given. + Reads commands from cmdfile. When + this option is used, YAZ client does not read .yazclientrc + from current directory or home directory. @@ -92,51 +134,882 @@ -k size Sets preferred messages and maximum record size for Initialize - Request in kilobytes. Default value is 1024 (1 MB). + Request in kilobytes. Default value is 65536 (64 MB). - - -x - - Makes the YAZ client print hex dumps of packages sent and received - on standard output. + -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 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. - - &yaz-client-commands; - - FILES - - yaz-<version>/client/client.c - - - SEE ALSO - - - yaz - 7 - - - - Section "The YAZ Client" in the YAZ manual. - - - Section "Prefix Query Format" in the YAZ manual. - - - Section "Common Command Language" in the YAZ manual. - - - Section "Common QUery Language" in the YAZ manual. - - + + 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 commands overrides + the database given in zurl. + + + + + show + [start[+number]] + + + Fetches records by sending a Present Request from the start + position given by + start + a number of records given by number. If + start is not given, then the client + will fetch from position of the last retrieved record plus 1. If + number is not given, then one record will + be fetched at a time. + + + + + 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 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 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 = 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 a 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 or 1.2 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 + + 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 + for more details. + + + + + + mspn n + + + Sets the number of records 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 + + 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. + + + + + 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 + + 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 are 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 quited 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 reconnect if + 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 + 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 marcharset is given, it specifies name + of the character set of retrieved MARC records from server. See + also marcharset command. + + + + Since character set negotiation takes effect in the Z39.50 + Initialize Request you should issue this command before + command open + is used. + + + + + 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 + thing as option -c. + + + + + + set_cqlfile + filename + + + Specifies that CQL fields should be read from file + file filename. This command does the + 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 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 was specified. + This leaves it up to the server what fields to search but + most servers will search in all fields. Some servers does 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 + + +