Searching with SRU |
< Previous | Next > |
This page describes our implementation of the SRU (Search/Retrieval via URL) protocol, which may be used to search our available databases using a formal, simple yet expressive query syntax.
The general URL for accessing the SRU interface to the library is of the form:
http://ip.com/xapi/sru[/database][?name=value[&name=value...]]
The following paramaters are common to all operations.
Refer to the operation-specific details below for parameters specific to each.
As suggested here, all URI's sent to the SRU interface must be encoded using UTF-8 if there is any chance that query strings will include non-ASCII characters.
A context set describes a set of searchable indexes and/or record elements returned by SRU requests. This implementation uses the following sets.
| Context Set | Identifier | Description |
|---|---|---|
| cql | info:srw/cql-context-set/1/cql-v1.2 | CQL context set Version 1.2 |
| dc | info:srw/cql-context-set/1/dc-v1.1 | Dublin Core Context Set Version 1.1 |
| local | http://ip.com/srw/ipcom/1.0/ | Local index and element names as described below. |
| Context | Index | Type | Sort | Description |
|---|---|---|---|---|
| cql | anywhere allIndexes anyIndexes keywords | Text | - | The default index, these will search all fields in the record for the selected search terms. |
| dc | title | Text | Yes | The title field of the record. |
| dc | description | Text | - | The abstract or summary of the record. |
| dc | type | Scan | - | The specific collection the record belongs to (eg, Chinese patents, US applications, etc). Use the Scan Operation for a list of values. |
| dc | relation | Text | - | Referenced sources for a record. |
| dc | date | Date | Yes | Date the record was published. |
| dc | identifier | Text | - | The unique identifier associated with a record on this site. |
| local | collection | Scan | - | The general collection the record belongs to (eg, patent, application, etc). Use the Scan Operation for a list of values. |
| Context | Index | Type | Sort | Description |
|---|---|---|---|---|
| local | contributor | Text | - | An index of the related people for Prior Art Database records. |
| local | adddate | Date | Yes | Date on which a Prior Art Database record was added to the database. This may differ from the dc.date value if a record was published elsewhere before reaching the Prior Art Database. |
| local | owner | Scan | - | When known, the company that owns a Prior Art document. Use the Scan Operation for a list of values. |
| Context | Index | Type | Sort | Description |
|---|---|---|---|---|
| dc | subject | Text | - | An index of IBM assigned keywords to an IBM Redbook record. |
| local | isbn | Text | - | ISBN assigned to an IBM Redbook. |
| local | author | Text | - | Named authors of an IBM Redbook record. |
| local | update | Date | - | Date that an IBM Redbook record was last updated in the database. These documents may be modified by IBM at any time. |
| local | toc | Text | - | The table of contents as listed in an IBM Redbook. |
| Context | Index | Type | Sort | Description |
|---|---|---|---|---|
| local | an | Text | - | The application number of a patent or application record. |
| local | ad | Date | Yes | The date an application was filed for a patent or application record. |
| local | invent | Text | - | The inventor of a patent or application record. |
| local | assign | Text | - | The assignee of a patent or application record. |
| local | agent | Text | - | The agent of a patent or application record. |
| local | nc | Text | - | The national classification code of a patent or application record assigned by the issuing country's patent authority. |
| local | ic | Text | - | The international classification code of a patent or application record using the IPC standard. |
| local | reference | Text | - | The cited references of a patent or application record. |
| local | claims | Text | - | The claims made by a patent or application record. |
| local | description | Text | - | The detailed description of a patent or application record. |
| local | frontpage | Text | - | A combination of the indexes considered the front page of a patent or application record. |
| Relation | Description | Example |
|---|---|---|
| = any |
An implied boolean OR between listed terms. |
dc.title = "dog cat hamster" dc.title any "radio television shortwave" |
| all | An implied boolean AND between listed terms. | dc.title all "wavelength height radio" |
| == adj exact |
A phrase search, where multiple terms are expected to be in the order given. |
dc.title == "calico cat" dc.title adj "computer virus" |
| <> | An implied boolean NOT preceding the listed terms. | dc.title = "cat" AND dc.title <> "calico cat" |
| Relation | Description | Example |
|---|---|---|
| = == within |
Match dates which are within the given date range. If a partial date is given, it implies a range of dates (for example, the term "2007" implies the range 2007-01-01 through 2007-12-31; "2007-12" implies the range 2007-12-01 through 2007-12-31). |
dc.date = "2007-12-13" dc.date within "2007-12" dc.date within "2005 2007" |
| < <= > >= |
Select dates which are less-than, less-than or equal to, greater-than or greater-than or equal to the given date. If a partial date is given, it implies a range of dates (for example, the term "2007" implies the range 2007-01-01 through 2007-12-31), and the appropriate endpoint of that implied range will be used for comparisons. |
dc.date >= "2007-12-13" dc.date < "1983" |
| <> | Select dates which are outside of the given term date or implied range (using the same rules as above). The <> relation has been enhanced to allow for two terms to be passed so that an explicit range is supported. |
dc.date <> "2007-12-13" dc.date <> "2005-05" dc.date <> “2005 2007” |
Search results are formatted to conform to the XML schema dc-schema.xsd, which is currently based on the Dublin Core Elements schema.
Result records currently contain the following details:
| XML Element | Contents |
|---|---|
| title | Document title |
| identifier | Identifier for document within the collection |
| date | The publication date of the document |
| language | If known, a code for the language the document is written in |
| description | An abstract or brief description of the document if supplied |
| source | A fully-qualified URI to the document (which may be hosted at a different website) |
Each result may also include a <score> element within the extraRecordData node. This will be a value between 0 and 1 giving a relative rank to a result within the result set. These scores are weighted so the best match found for any given query is assigned a score of 1, with subsequent results being ranked against that top result. This scoring system may be replaced at some future date.
The explain operation returns detailed information about the service provided by our SRU server. Details returned regarding contexts and indexes supported will be tailored to any x-local-database= selection, explicit or implied.
The following parameters are supported for the scan operation.
The following parameters are supported for the searchRetrieve operation.