Cheshire II Databases

Virtual Databases

\- Simultaneous Search of Multiple Databases


This document describes the CheshireII Virtual Database facility, used to provide a single named database "target" that represents multiple physical databases on a single Cheshire server. When a search or display command is sent to a virtual database, the server will search all of the databases listed in additional "FILENAME" entries in the config file for the virtual database (an example configfile is shown below). The results from the different physical databases are pooled. If a probabilistic search is done the results from all servers are put into a single ranking. Virtual databases rely on the configuration files of the underlying physical databases to determine if a search or display format request is possible for the given database.

In the configuration file the FILEDEF TYPE attribute is used to indicate that the FILETAG and the file name in first FILENAME tag is a DataStore file. The following may be used to do this...


The example configuration file shown below implements a virtual database with the database name "vdb". The actual physical databases are "scilib" and "bibfile" which are named in the additional FILENAME tags. Virtual databases may also include EXPLAIN information (as the example shows), but need not have DTDs, indexes, etc. specified (if these are specified, they are ignored).

The configuration files for the physical databases must be named in the server.init file for Zserver . For virtual databases to be used with webcheshire all of the FILEDEFs for the physical databases must be included in the file referenced but the "CHESHIRE_CONFIGFILE" variable. Both conventional SGML/XML files plus associators, and DataStore databases may be combined in virtual files.

A Minimal Configfile for use with virtual databases

<!-- This is a test config file for Cheshire II -->
<DBENV> /home/ray/Work/DBENV </DBENV>

<!-- The only filedef is a virtual file which is actually just a way -->
<!-- to search and retrieve from all of added filenames below -->

<DEFAULTPATH> /home/ray/Work/cheshire/index </DEFAULTPATH>

<!-- filetag is the "shorthand" name of the file -->

<!-- filenames for virtual dbs are just the filetag names of OTHER    -->
<!-- files in this or other configfiles on the same server. The names -->
<!-- are used to look those files and process them for retrieval      -->
<!-- Virtual db configfiles are NOT used for indexing, only retrieval -->
<FILENAME> vdb </FILENAME>   <!-- should be the same as the filetag   -->
<FILENAME> scilib</FILENAME> <!-- this is an actual database see server.init -->
<FILENAME> bibfile </FILENAME> <!-- this is an actual database -->

<!-- The virtual DB needs no index definitions (indexes of the actual  -->
<!-- files are used for searching and retrieval                        -->
<!-- You can have explain stuff for virtual dbs                        -->
<TITLESTRING> Sample virtual database (uses bibfile and scilib)
<DESCRIPTION> Combined searching of multiple databases using a single
database name (vdb)
<DISCLAIMERS> The scilib database is only on Ray's system.
<NEWS> No news </NEWS>
<HOURS> Whenever the system is up </HOURS>
<BESTTIME> Almost any time is good </BESTTIME>
<COVERAGE> Bunch of stuff </COVERAGE>
<COPYRIGHTTEXT> This is not copyrighted </COPYRIGHTTEXT>
<COPYRIGHTNOTICE> This would be a copyright notice if it was</COPYRIGHTNOTICE>
<contact_name> Ray R. Larson </contact_name>
<contact_address>102 South Hall UC Berkeley, CA 94720-4600
<contact_email> </contact_email>
<contact_name> Ray R. Larson </contact_name>
<contact_address>102 South Hall UC Berkeley, CA 94720-4600
<contact_email> </contact_email>
<contact_phone> 642-6046 </contact_phone>



None known.

SEE ALSO cheshire_load, read_datastore


Ray R. Larson ()