X-Git-Url: http://git.indexdata.com/?p=yaz-moved-to-github.git;a=blobdiff_plain;f=doc%2Fyaz-client-man.xml;h=4897d76c2575ac71bf25423e59bdbe99a97c226f;hp=9c7d57195a3261ab76f66627f8921e49046cf2ec;hb=4d33de773178255ccbe2d36581906a8c681f399d;hpb=f0fff840ae259cab0b1c17297c4367172a7cd229 diff --git a/doc/yaz-client-man.xml b/doc/yaz-client-man.xml index 9c7d571..4897d76 100644 --- a/doc/yaz-client-man.xml +++ b/doc/yaz-client-man.xml @@ -1,129 +1,86 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + %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 given. - + + DESCRIPTION - When yaz-client is invoked it attemps to read the - following files: - $HOME/.yazclientrc (home directory, Unix only) and - .yazclientrc (current directory - any platform) - For those files that are readable, the YAZ client executes commands - in those files. See COMMANDS section for description of commands. + 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. + + @@ -157,17 +114,27 @@ -d dump - If specified, YAZ will dump BER data for all PDUs sent and received + If specified, YAZ will dump BER data for all PDUs sent and received to individual files, named - dump.DDD.raw, + 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 1024 (1 MB). + Request in kilobytes. Default value is 65536 (64 MB). @@ -177,10 +144,13 @@ - -p addr + -p proxy-addr If specified, the client will use the proxy at the address - given. + 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. @@ -191,12 +161,34 @@ + -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 @@ -212,762 +204,825 @@ - - 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. - - - - - 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 - + + 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 - scan water + f knuth - - but if you want to scan only in, say the title field, you would write - + or - scan @attr 1=4 water + f "donald knuth" - - - - 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. - - - - - - 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 - - for more details. - - - - - - ssub n - - - Sets the limit for when all records should be returned with - the search result. - See the - - Z39.50 standard - 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 - - 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 Standard - - for more details. Commonly used records syntaxes include usmarc, - sutrs, grs1 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 a quoted string - (double quotes) the string content is used verbatim. If doc is not - a quoted string, it is assumed to be a filename which is read, then - sent as the docuemnt content. If doc is omitted, the last received - record (as parf of present response or piggybacked search response) - is used for the update. - - - - - - . - filename - - - Executes list of commands from - file filename, just like source on - most UNIX shells. - - - - - - ! - 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 SRW, schema is a simple string URI. - - - - - - charset - negotiationcharset - [displaycharset] - [[marccharset]] - - - Specifies character set (encoding) for Z39.50 - negotiation / SRW 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 negotation 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 converson(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. - - - - - - 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. - - - - - - - - - - FILES - - yaz-<version>/client/client.c - - - .yazclientrc - - - $HOME/.yazclientrc - - - 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. - - + 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 + + + -