X-Git-Url: http://sru.miketaylor.org.uk/?a=blobdiff_plain;f=doc%2Fvirt_db.xml;h=13b86adddce5fe2e4dd5485666ba92d377c5771a;hb=289bce5413c17b445879370a52d1d6ed220c554b;hp=9749f84382a3939f9236473f0fdfabe8a7bfd617;hpb=e9530d6289df9b848e4901d7c73f5a2f27706d66;p=metaproxy-moved-to-github.git
diff --git a/doc/virt_db.xml b/doc/virt_db.xml
index 9749f84..13b86ad 100644
--- a/doc/virt_db.xml
+++ b/doc/virt_db.xml
@@ -19,13 +19,51 @@
DESCRIPTION
This filter allows one Z39.50 database to be me mapped to
- another target; or even multiple targets..
+ another target; or even multiple targets.
+
+
+ The configuration of virt_db consists of zero or more
+ <virtual> elements each describing the
+ Z39.50 virtual database recognized.
+ The name of the database is the text content of the
+ <database> element which should be
+ first element inside the virtual section.
+
+
+ For Metaproxy 1.0.20 and later, the database is treated as a glob pattern.
+ This allows operators * (any number of any character) and
+ ? (any single character). The virtual sections are inspected in
+ the order given. The first matching virtual database is used.
+
+
+ Following that is one or more <target>
+ elements with the identifier of each target that the virtual database
+ maps to. If a database is given for a target (following a slash), that
+ database name is used as Z39.50 database for this target. If the
+ database is omitted for the target, the original (virtual) database
+ is used as Z39.50 database.
+
+
+ If multiple targets are given that has special meaning depending on the
+ filter following virt_db. If the following filter is load_balance, then
+ the load_balance filter will load balance between the targets given
+ (assuming they serve same content). If the following filter is multi,
+ then results will be merged from all targets instead.
+
+
+ The z3950_filter, on the other hand, does not support multiple targets.
+
+
+ For <virtual> a route may be given as
+ an attribute. This will make Metaproxy route traffic to the route
+ given. Note that virtual databases may not be combined if all
+ databases do not result in the same routing.
EXAMPLES
- A typical configuration looks like this:
+ Consider this virt_db configuration:
@@ -41,9 +79,26 @@
indexdata.com/gils
localhost:9999/Default
+
+ db3
+ indexdata.com/special
+
+
+ *
+ localhost:9999<-- database not altered -->
+
]]>
+ This will offer 4 databases, db1,
+ db2, combined and
+ db3. If a Z39.50 specifies db1
+ and db2 that will have same effect as specifying
+ the single database combined.
+
+
+ Since db3 routes differently from the other databases,
+ this database may not be combined with the others.
@@ -59,6 +114,10 @@
multi
3mp
+
+ load_balance
+ 3mp
+