Searching ZeeRex Databases

22nd March 2002

Introduction

ZeeRex databases are searched in accordance with the framework specified by the Z39.50 Attribute Architecture, using attributes drawn from three architecture-conformant attribute sets:

Access Points

The following access points may be supported. Those which are marked as ``required'' must be supported by a conformant ZeeRex server; the others are optional.

Attribute Set Access Point Required Name Notes
Utility 12 Yes Anywhere in Record This access point may be used in conjunction with the Utilty attribute set's alwaysMatches comparison attribute (type 8, value 1) to find all the records in a ZeeRex database. Any search-term may be used: the term itself is ignored in all-records searches.
Utility 1 - Record Date/time Searches for the date specified in the <dateModified> element. Most useful if supported with the utility set's inequality comparison attributes 4 (less than), 5 (less than or equal), 6 (greater than) and 7 (greater than or equal)
Cross-Domain 1 Yes Title Searches for the title of the whole database, not that of an index or element set.
Cross-Domain 3 - Name Searches for the name specified in the <author> element
Cross-Domain 4 - Description  
Cross-Domain 10 - Language Searches for the language specified in the <langUsage> element - that is, the language of the described database rather than that of the ZeeRex record that describes it.
ZeeRex 1 Yes explainAdmin  
ZeeRex 2 Yes hostName  
ZeeRex 3 Yes portNumber  
ZeeRex 4 Yes databaseName  
ZeeRex 5 - recordSyntax  
ZeeRex 6 Yes protocol  
ZeeRex 7 - attribute See Searching for attribute combinations below.

For further information about these access points, consult the attribute sets from which they are taken.

Other attribute types

Beyond the specific cases above, we say nothing about support for non-access-point attributes. We're all grown-ups here. We expect you to use your skill and discretion and do The Right Thing.

If it becomes apparent later that we need to be more rigorous about this, then we'll add some instructions.

Searching for attribute combinations

In order to search for databases supporting a particular combination of attributes, it is not sufficient to search for those attributes ANDed together: for example, a search for

	attribute util:1=1 AND attribute util:12=creation
  
will not only find databases which support a utility-set search on creation date/time: it will also find databases which support a both modification date/time and creation agent.

In order to search for multiple attributes used in combination, it's necessary to specify that they occur within the same <map> element. That may be done using the PROXIMITY operator with the following parameters:

We recognise that not every ZeeRex server will implement this advanced searching facility. That's fine; it's optional.

Feedback to <mike@indexdata.com> is welcome!