This describes how SearchBoolean is implemented at Cornell as of today (30 April 2002).


Verb function: Submit a Query
Verb name: SearchBoolean
Verb version: 6.0
NSF-DFG-Math usage: mod
Fixed arguments: none
Keyword arguments: see below
MIMETYPE response: text/xml
Status Codes responses: 200, 400

Verb Description:

Specifies a search request to the index server. Keyword Arguments are a set of bibliographic fields and values specifying the search criteria. Returns a structured response that is a list of each document that matches the search criteria. Each element of the list has the following contents:

Note that clients should not assume any logical ordering of the records returned.

Bibliographic Field Arguments:

Valid bibliographic field arguments can vary among index servers. The Describe-Verb verb returns the set of field arguments for a particular server. The minimal and standard set of bibliographic field arguments is as follows:

Scope Argument:

Two additional fields are available:

authority
the name of the authority in the index server to which the search is to be limited. The default is all authorities. The authority argument may be repeated, in which case the the search is carried out in each authority (effectively or’ing the authority arguments).
added-after
limits the list to those handles for documents that were added or modified since time, a universal time expressed in ISO 8601 format. If the server is not able to determine date of modification to the resolution of a day, or if the server is not able to selectively extract records on a time scale of a day, the server may return additional records, e.g. all those modified during the week, month, or even century containing the date.

Rules for bibliographic field matching: A token in a field is either an unquoted word or a quoted string. Tokens are matched to bibliographic entries according to the following rules:

Examples

Example Request:
Protocol=Dienst&Service=Index&ver=6.0&verb=SearchBoolean&field1=author&value1=davis&op1=or&field2=author&value2=fox 
Example Request:
Protocol=Dienst&Service=Index&ver=6.0&verb=SearchBoolean&field1=author&value1=donald&op1=and&field2=title&value2=robot 
Example Request:
Protocol=Dienst&Service=Index&ver=6.0&verb=SearchBoolean&field1=author&value1=donald&op1=or&field2=title&value2=computer+vision&op2=and&field3=authority&value3=xxx 
Example Response:

<?xml version="1.0" encoding="UTF-8"?>

  <SearchBoolean version="6.0">

    <record>

       <handle>euclid.mathbk/1112</handle>

       <rank>2857</rank>

       <author>Doe, J.</author>

       <author>Public, J. Q.</author>

       <title>Math Book One</title>

       <date>1888</date>

    </record>

    <record>

       <handle>euclid.mathbk/1110</handle>

       <rank>2859</rank>

       <author>Mouse, M.</author>

       <author>Disney, W.</author>

       <title>Math Book Two</title>

       <date>1879</date>

    </record>

  </SearchBoolean>