Merge branch 'master' into paz-927 paz-927
authorAdam Dickmeiss <adam@indexdata.dk>
Wed, 12 Aug 2015 13:43:51 +0000 (15:43 +0200)
committerAdam Dickmeiss <adam@indexdata.dk>
Wed, 12 Aug 2015 13:43:51 +0000 (15:43 +0200)
104 files changed:
IDMETA
NEWS
configure.ac
debian/compat
debian/control
doc/pazpar2_conf.xml
doc/pazpar2_protocol.xml
etc/masterkey/bibs.xml
etc/settings/edu.xml
etc/settings/edu_opac_turbo.xml
etc/settings/edu_turbo.xml
etc/settings/loc-sru.xml
etc/settings/loc-xml.xml
etc/settings/loc.xml
etc/settings/many.xml
etc/settings/mkc/gutenberg.xml
etc/settings/mkc/hathitrust.xml
etc/settings/mkc/mkc.xml
etc/settings/sru-voyager.xml
etc/xsl/cf.xsl
etc/xsl/primo-pz2.xsl
etc/xsl/solr-pz2.xsl
pazpar2.spec
perf/bash/pp2client.sh
src/charsets.c
src/client.c
src/client.h
src/http.c
src/http_command.c
src/pazpar2.c
src/pazpar2_config.c
src/pazpar2_config.h
src/reclists.c
src/record.c
src/record.h
src/session.c
src/session.h
src/settings.c
src/settings.h
src/termlists.c
src/termlists.h
test/.gitignore
test/cf.xsl [deleted file]
test/cf_mit_opencourseware_settings.xml [deleted file]
test/test_facets_10.res
test/test_facets_19.res
test/test_facets_5.res
test/test_http_21.res
test/test_http_65.res
test/test_http_71.res
test/test_http_89.res
test/test_icu.cfg
test/test_limit_limitmap.urls
test/test_limit_limitmap_10.res
test/test_limit_limitmap_13.res
test/test_limit_limitmap_20.res
test/test_limit_limitmap_34.res
test/test_limit_limitmap_4.res
test/test_limit_limitmap_40.res
test/test_limit_limitmap_5.res
test/test_limit_limitmap_6.res
test/test_limit_limitmap_settings_1.xml
test/test_limit_limitmap_settings_2.xml
test/test_limit_limitmap_settings_3.xml
test/test_post_11.res
test/test_preferred.res [deleted file]
test/test_preferred.sh [deleted file]
test/test_preferred_1.res [deleted file]
test/test_preferred_10.res [deleted file]
test/test_preferred_11.res [deleted file]
test/test_preferred_12.res [deleted file]
test/test_preferred_13.res [deleted file]
test/test_preferred_14.res [deleted file]
test/test_preferred_15.res [deleted file]
test/test_preferred_16.res [deleted file]
test/test_preferred_2.res [deleted file]
test/test_preferred_3.res [deleted file]
test/test_preferred_4.res [deleted file]
test/test_preferred_5.res [deleted file]
test/test_preferred_6.res [deleted file]
test/test_preferred_7.res [deleted file]
test/test_preferred_8.res [deleted file]
test/test_preferred_9.res [deleted file]
test/test_settings_7.res
test/test_settings_8.res
test/test_solr.urls
test/test_solr_14.res
test/test_solr_19.res
test/test_solr_26.res
test/test_solr_32.res
test/test_solr_34.res
test/test_solr_36.res
test/test_solr_38.res
test/test_solr_39.res [new file with mode: 0644]
test/test_solr_40.res [new file with mode: 0644]
test/test_solr_5.res
test/test_sort.urls
test/test_sort_15.res [new file with mode: 0644]
test/test_sort_5.res
test/test_termlist_block_10.res
test/test_termlist_block_13.res
test/test_termlist_block_5.res
test/test_turbomarcxml_8.res
win/makefile

diff --git a/IDMETA b/IDMETA
index 8e7ad7a..97c8500 100644 (file)
--- a/IDMETA
+++ b/IDMETA
@@ -1,4 +1,4 @@
-DEBIAN_DIST="jessie wheezy squeeze"
-UBUNTU_DIST="utopic trusty saucy precise"
-CENTOS_DIST="centos5 centos6"
-VERSION=1.8.6
+DEBIAN_DIST="jessie wheezy"
+UBUNTU_DIST="vivid utopic trusty precise"
+CENTOS_DIST="centos5 centos6 centos7"
+VERSION=1.11.3
diff --git a/NEWS b/NEWS
index 084446b..79721a1 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -1,3 +1,69 @@
+--- 1.11.3 2015/07/28
+
+Do not re-search if facetlimit scan fails to find value PAZ-1013
+
+Optimizie single-target sortmap - keep record order PAZ-1917
+
+position rec-icd with leading zeros PAZ-1018
+
+Fix Bad HTTP request causes a crash PAZ-1012
+
+--- 1.11.2 2015/07/21
+
+Fix Can not make doc on mochi PAZ-1015
+
+--- 1.11.1 2015/07/21
+
+Fix PAZ-1009: Do not create local facets when using facetmap:split
+
+--- 1.11.0 2015/07/06
+
+Facet ID term map PAZ-1008
+New setting pz:facetmap:split:name (refer to documentation)
+
+--- 1.10.0 2015/06/16
+
+Sort by retrieval PAZ-1006
+Allows sorting by order that records were retrieved from databases.
+
+Response from bytarget command includes native query PAZ-1005
+
+Use lx2.loc.gov:210/LCDB_MARC8 instd of z3950.loc.gov:7090/voyager PAZ-1003
+
+--- 1.9.0 2015/05/23
+
+New metadata facility "icurule" for normalizing metadata text PAZ-1002
+This allows ICU normalization of text before in-cluster merging takes
+place.
+
+Heuristics to deal with Primo s/e/page PAZ-1001
+
+Fix test_limit_limitmap fails PAZ-1000
+
+--- 1.8.8 2015/04/20
+
+Limitmap ccl: deal with quotes and backslash PAZ-999
+
+Handle date range from a limit parameter PAZ-997
+The CCL term is not quoted unless it includes blanks. This will ensure
+that r=r is handled correctly. This changes behavior a bit. If term
+should not be converted to @and, then instead of r=r one should use
+r=o or r=3 instead.
+
+Construct md-pages-number form page/endpage PAZ-998
+
+--- 1.8.7 2015/03/27
+
+solr-pz2.xsl: extend Solr transformation to emit license_name field PAZ-996
+
+cf.xsl: forwards flat affiliation structure PAZ-992
+
+parpar2: log YAZ version upon start PAZ-993
+
+Update and fix documentation for preferred targets
+
+Fix spelling of present_chunk in documentation
+
 --- 1.8.6 2015/02/10
 
 Increase facet limit PAZ-990
index b40a776..85ef2db 100644 (file)
@@ -24,7 +24,7 @@ AC_LANG(C)
 
 AC_C_INLINE
 
-YAZ_INIT([static icu],[5.7.0])
+YAZ_INIT([static icu],[5.12.0])
 if test -z "$YAZLIB"; then
        AC_MSG_ERROR([YAZ development libraries missing])
 fi
index 7f8f011..ec63514 100644 (file)
@@ -1 +1 @@
-7
+9
index c50b234..2ef845d 100644 (file)
@@ -4,7 +4,7 @@ Priority: extra
 Maintainer: Adam Dickmeiss <adam@indexdata.dk>
 Build-Depends: debhelper (>= 7),
        autotools-dev,
-       libyaz5-dev (>= 5.7.0),
+       libyaz5-dev (>= 5.12.0),
        docbook-xsl
 Standards-Version: 3.7.2
 
index 8d64acc..7994914 100644 (file)
          </varlistentry>
 
          <varlistentry>
+          <term id="icurule">icurule</term>
+          <listitem>
+           <para>
+            Specifies the ICU rule set to be used for normalizing
+            metadata text. The "display" part of the rule is kept
+            in the returned metadata record (record+show commands), the
+            end result - normalized text - is used for performing
+            within-cluster merge (unique, longest, etc). If the icurule is
+            omitted, type generic (text) is converted as follows:
+            any of the characters "<literal> ,/.:([</literal>" are
+            chopped of prefix and suffix of text content
+            <emphasis>unless</emphasis> it includes the
+            characters "<literal>://</literal>" (URL).
+           </para>
+           <note>
+            <para>
+             Requires Pazpar2 1.9.0 or later.
+            </para>
+           </note>
+          </listitem>
+         </varlistentry>
+
+         <varlistentry>
           <term>setting</term>
           <listitem>
            <para>
        supports (native) facets. The value is the name of the
        field on the target.
       </para>
-      <note>
-       <para>
-       At this point only Solr targets have been tested with this
-       facility.
-       </para>
-      </note>
+     </listitem>
+    </varlistentry>
+
+    <varlistentry>
+     <term>pz:facetmap:split:<replaceable>name</replaceable></term>
+     <listitem>
+      <para>
+       Like pz:facetmap, but makes Pazpar2 inspect the term value consisting
+       of two items separated by colon. First item is the raw ID to be
+       sent to database if limitmap on the field
+       <replaceable>name</replaceable> is used. The second item is
+       the display term.
+      </para>
+      <para>
+       This facility was added in Pazpar2 version 1.11.0.
+      </para>
      </listitem>
     </varlistentry>
 
index 4629cbf..28545e6 100644 (file)
@@ -273,8 +273,13 @@ search.pz?command=settings&session=2044502273&pz:allow[search.com:210/db1]=1
        the number '0' (decreasing) or '1' (increasing).  Default
         sort order is decreasing.
        Sort field names can be any field name designated as a sort field
-        in the pazpar2.cfg file, or the special names 'relevance' and
-       'position'.
+        in the pazpar2.cfg file, or the special names 'relevance',
+       'retrieval' and 'position'.
+       </para>
+       <para>
+       Sort type 'position' sorts by position/offset for each database.
+       Sort type 'retrieval' sorts by position of retrieval (first record
+       retrieved is 1, second record is 2, etc.).
        </para>
        <para>
        If not specified here or as
@@ -287,7 +292,7 @@ search.pz?command=settings&session=2044502273&pz:allow[search.com:210/db1]=1
        supports native sorting in order to get best results. Pazpar2
        will trigger a new search if search criteria changes from Pazpar2
        to target-based sorting or visa-versa.
-       </para>
+       </para>
       </listitem>
      </varlistentry>
 
@@ -447,8 +452,13 @@ search.pz2?session=2044502273&command=stat
        the number '0' (decreasing) or '1' (increasing).  Default
         sort order is decreasing.
        Sort field names can be any field name designated as a sort field
-        in the pazpar2.cfg file, or the special names 'relevance' and
-       'position'.
+        in the pazpar2.cfg file, or the special names 'relevance',
+       'retrieval' and 'position'.
+       </para>
+       <para>
+       Sort type 'position' sorts by position/offset for each database.
+       Sort type 'retrieval' sorts by position of retrieval (first record
+       retrieved is 1, second record is 2, etc.).
        </para>
        <para>
        If not specified here or as
index 273e28f..8985ccc 100644 (file)
@@ -1,5 +1,5 @@
 <settings>
-  <set target="z3950.loc.gov:7090/voyager" name="pz:name" value="Library of Congress"/>
+  <set target="lx2.loc.gov:210/LCDB_MARC8" name="pz:name" value="Library of Congress"/>
   <set target="melvyl.cdlib.org:210/CDL90" name="pz:name" value="University of California"/>
   <set target="library.ox.ac.uk:210" name="pz:name" value="Oxford University"/>
 </settings>
index 954d6ef..b9c5be1 100644 (file)
@@ -42,7 +42,7 @@
   <set target="z3950.library.wisc.edu:210/madison" name="pz:name" value="U of Wisconsin"/>
   <set target="opencontent.indexdata.com:210/oca-all" name="pz:name" value="OCA American Libraries"/>
   <set target="opencontent.indexdata.com:210/gutenberg" name="pz:name" value="Project Gutenberg"/>
-  <set target="z3950.loc.gov:7090/voyager" name="pz:name" value="Library of Congress"/>
+  <set target="lx2.loc.gov:210/LCDB_MARC8" name="pz:name" value="Library of Congress"/>
   <set target="melvyl.cdlib.org:210/CDL90" name="pz:name" value="University of California"/>
   <set target="library.ox.ac.uk:210/ADVANCE" name="pz:name" value="Oxford University"/>
 
index f84de6f..53a1f6e 100644 (file)
@@ -42,7 +42,7 @@
   <set target="z3950.library.wisc.edu:210/madison" name="pz:name" value="U of Wisconsin"/>
   <set target="opencontent.indexdata.com:210/oca-all" name="pz:name" value="OCA American Libraries"/>
   <set target="opencontent.indexdata.com:210/gutenberg" name="pz:name" value="Project Gutenberg"/>
-  <set target="z3950.loc.gov:7090/voyager" name="pz:name" value="Library of Congress"/>
+  <set target="lx2.loc.gov:210/LCDB_MARC8" name="pz:name" value="Library of Congress"/>
   <set target="melvyl.cdlib.org:210/CDL90" name="pz:name" value="University of California"/>
   <set target="library.ox.ac.uk:210/ADVANCE" name="pz:name" value="Oxford University"/>
 
index 5040a4e..357fb29 100644 (file)
@@ -42,7 +42,7 @@
   <set target="z3950.library.wisc.edu:210/madison" name="pz:name" value="U of Wisconsin"/>
   <set target="opencontent.indexdata.com:210/oca-all" name="pz:name" value="OCA American Libraries"/>
   <set target="opencontent.indexdata.com:210/gutenberg" name="pz:name" value="Project Gutenberg"/>
-  <set target="z3950.loc.gov:7090/voyager" name="pz:name" value="Library of Congress"/>
+  <set target="lx2.loc.gov:210/LCDB_MARC8" name="pz:name" value="Library of Congress"/>
   <set target="melvyl.cdlib.org:210/CDL90" name="pz:name" value="University of California"/>
   <set target="library.ox.ac.uk:210/ADVANCE" name="pz:name" value="Oxford University"/>
 
index 1a098cf..41d11f8 100644 (file)
@@ -1,4 +1,4 @@
-<settings target="z3950.loc.gov:7090/voyager">
+<settings target="lx2.loc.gov:210/LCDB_MARC8">
   <set name="pz:name" value="Library of Congress (SRU)"/>
   <set name="pz:sru" value="get"/>
   <set name="pz:sru_version" value="1.1"/>
index c0930c6..3c0035d 100644 (file)
@@ -1,4 +1,4 @@
-<settings target="z3950.loc.gov:7090/voyager">
+<settings target="lx2.loc.gov:210/LCDB_MARC8">
 
   <set name="pz:name" value="Library of Congress"/>
 
index 4aa07e4..1922892 100644 (file)
@@ -1,4 +1,4 @@
-<settings target="z3950.loc.gov:7090/voyager">
+<settings target="lx2.loc.gov:210/LCDB_MARC8">
 
   <set name="pz:name" value="Library of Congress"/>
 
index c85cca5..bc6452f 100644 (file)
   <set target="z3950.library.wisc.edu:210/madison" name="pz:name" value="z3950.library.wisc.edu:210/madison"/>
   <set target="z3950.libris.kb.se:210/libr" name="pz:name" value="z3950.libris.kb.se:210/libr"/>
   <set target="z3950.lillehammer.folkebibl.no:210/data" name="pz:name" value="z3950.lillehammer.folkebibl.no:210/data"/>
-  <set target="z3950.loc.gov:7090/voyager" name="pz:name" value="z3950.loc.gov:7090/voyager"/>
+  <set target="lx2.loc.gov:210/LCDB_MARC8" name="pz:name" value="lx2.loc.gov:210/LCDB_MARC8"/>
   <set target="z3950.nakskov.integrabib.dk:210/default" name="pz:name" value="z3950.nakskov.integrabib.dk:210/default"/>
   <set target="z3950.nb.no:2100/Norbok" name="pz:name" value="z3950.nb.no:2100/Norbok"/>
   <set target="z3950.nb.no:2100/Norper" name="pz:name" value="z3950.nb.no:2100/Norper"/>
index d850d5f..8ad6b03 100644 (file)
@@ -1,4 +1,4 @@
-<settings target="mkc.indexdata.com:9008/gutenberg">
+<settings target="mkc.indexdata.com:210/gutenberg">
   <set name="pz:name" value="Gutenberg"/>
   <set name="pz:id" value="gutenberg"/>
 </settings>
index e1c37f2..314d8c9 100644 (file)
@@ -1,4 +1,4 @@
-<settings target="mkc.indexdata.com:9008/hathitrust">
+<settings target="mkc.indexdata.com:210/hathitrust">
   <set name="pz:name" value="Hathitrust"/>
   <set name="pz:id" value="hathitrust"/>
 </settings>
index d5ab7bb..1361b1b 100644 (file)
@@ -1,4 +1,4 @@
-<settings target="mkc.indexdata.com:9008/*">
+<settings target="mkc.indexdata.com:210/*">
 
   <!-- This file introduces default settings for pazpar2 -->
 
index 1fac937..0671418 100644 (file)
@@ -1,4 +1,4 @@
-<settings target="z3950.loc.gov:7090/voyager">
+<settings target="lx2.loc.gov:210/LCDB_MARC8">
 
   <!-- Simple test against a local SRU server (could be yaz-ztest) -->
 
index 5f0c4ea..794454c 100644 (file)
         version="1.0"
         encoding="UTF-8"/>
 
-  <xsl:param name="medium" />
+    <xsl:param name="medium" />
+
+    <xsl:variable name="startpage" select="/record/page" />
+    <xsl:variable name="endpage" select="/record/endpage" />
 
   <!-- Use medium parameter if given. Default to medium from connector -->
   <xsl:template match="/record">
           </xsl:otherwise>
         </xsl:choose>
       </pz:metadata>
+
+      <!-- calculate md-pages-number for startpage/endpage -->
+      <xsl:if test="string-length($startpage)">
+        <pz:metadata type="pages-number">
+          <xsl:value-of select="$startpage" />
+          <xsl:if test="string-length($endpage)">
+            <xsl:text>-</xsl:text>
+            <xsl:value-of select="$endpage" />
+          </xsl:if>
+        </pz:metadata>
+      </xsl:if>
+
       <xsl:apply-templates/>
+
     </pz:record>
   </xsl:template>
 
     </pz:metadata>
   </xsl:template>
 
-  <!-- put both page and pages-number for page -->
-  <xsl:template match="page">
-    <pz:metadata type="pages-number">
-      <xsl:value-of select="."/>
+  <xsl:template match="affiliation">
+    <pz:metadata type="affiliation-person" empty="PAZPAR2_NULL_VALUE">
+      <xsl:value-of select="person"/>
     </pz:metadata>
-    <pz:metadata type="page">
-      <xsl:value-of select="."/>
+    <pz:metadata type="affiliation-institution" empty="PAZPAR2_NULL_VALUE">
+      <xsl:value-of select="institution"/>
     </pz:metadata>
   </xsl:template>
-  <!-- leave endpage as is -->
 
   <xsl:template match="*" >
     <pz:metadata type="{local-name()}">
index 031cb47..caa6d9a 100644 (file)
       </pz:metadata>
     </xsl:for-each>
 
-    <xsl:for-each select="prim:spage">
-      <pz:metadata type="pages-number">
-        <xsl:value-of select="." />
-      </pz:metadata>
-    </xsl:for-each>
+    <xsl:variable name="spage" select="prim:spage" />
+    <xsl:variable name="epage" select="prim:epage" />
+    <xsl:variable name="pages" select="prim:pages" />
+
+    <xsl:choose>
+      <!-- in some case primo wrongly returns a range in spage, we're done -->
+      <xsl:when test="contains($spage,'-')">
+        <pz:metadata type="pages-number">
+          <xsl:value-of select="$spage" />
+        </pz:metadata>
+      </xsl:when>
+      <!-- if there is a range in pages, we're also done -->
+      <xsl:when test="contains($pages,'-')">
+        <pz:metadata type="pages-number">
+          <xsl:value-of select="$pages" />
+        </pz:metadata>
+      </xsl:when>
+      <!-- otherwise, construct -->
+      <xsl:when test="$spage">
+        <pz:metadata type="pages-number">
+          <xsl:value-of select="$spage" />
+          <xsl:if test="string-length($epage)">
+            <xsl:text>-</xsl:text>
+            <xsl:value-of select="$epage" />
+          </xsl:if>
+        </pz:metadata>
+      </xsl:when>
+    </xsl:choose>
 
     <xsl:for-each select="prim:issn">
       <pz:metadata type="issn">
index 5a11a53..2c5edf3 100644 (file)
          </xsl:attribute>
          <xsl:value-of select="."/>
        </pz:metadata>
+       <xsl:if test="../@name='license_url'">
+        <pz:metadata type="license_name">
+         <xsl:choose>
+          <!-- Creative Commons licenses -->
+          <xsl:when test="starts-with(., 'http://creativecommons.org/licenses/by/')">
+           CC By
+          </xsl:when>
+          <xsl:when test="starts-with(., 'http://creativecommons.org/licenses/by-sa/')">
+           CC By-SA
+          </xsl:when>
+          <xsl:when test="starts-with(., 'http://creativecommons.org/licenses/by-nd/')">
+           CC By-ND
+          </xsl:when>
+          <xsl:when test="starts-with(., 'http://creativecommons.org/licenses/by-nc/')">
+           CC By-NC
+          </xsl:when>
+          <xsl:when test="starts-with(., 'http://creativecommons.org/licenses/by-nc-sa/')">
+           CC By-NC-SA
+          </xsl:when>
+          <xsl:when test="starts-with(., 'http://creativecommons.org/licenses/by-nc-nd/')">
+           CC By-NC-ND
+          </xsl:when>
+
+          <!-- There is actually no such license as this, but East London uses it anyway! -->
+          <xsl:when test="starts-with(., 'http://creativecommons.org/licenses/by-nd-sa/')">
+           CC By-ND-SA
+          </xsl:when>
+
+          <!-- Creative Commons' public-domain tools are not actually licences, may well be used -->
+          <xsl:when test=". = 'http://creativecommons.org/about/cc0'">
+           CC0 (public domain)
+          </xsl:when>
+          <xsl:when test=". = 'http://creativecommons.org/about/pdm2'">
+           CC PDL (public domain)
+          </xsl:when>
+          <!-- The RIOXX profile itself provides two ways of saying "all rights reserved" -->
+          <xsl:when test=". = 'http://www.rioxx.net/licenses/all-rights-reserved'">
+           All rights reserved
+          </xsl:when>
+          <xsl:when test=". = 'http://www.rioxx.net/licenses/under-embargo-all-rights-reserved'">
+           Under embargo
+          </xsl:when>
+
+          <xsl:otherwise>
+           [unknown]
+          </xsl:otherwise>
+         </xsl:choose>
+        </pz:metadata>
+       </xsl:if>
       </xsl:otherwise>
     </xsl:choose>
   </xsl:template>
index 1cdd1b5..7a6dc29 100644 (file)
@@ -1,5 +1,4 @@
-%define idmetaversion %(. ./IDMETA; echo $VERSION|tr -d '\n')
-Summary: Metasearcher
+%define idmetaversion %(. ./IDMETA; echo $VERSION)
 Name: pazpar2
 Version: %{idmetaversion}
 Release: 1.indexdata
@@ -8,11 +7,11 @@ Group: Applications/Internet
 Vendor: Index Data ApS <info@indexdata.dk>
 Source: pazpar2-%{version}.tar.gz
 BuildRoot: %{_tmppath}/%{name}-%{version}-root
-BuildRequires: libyaz5-devel >= 5.7.0
+BuildRequires: libyaz5-devel >= 5.12.0
 Packager: Adam Dickmeiss <adam@indexdata.dk>
 URL: http://www.indexdata.com/pazpar2
 Summary: pazpar2 daemon
-Requires: libyaz5 >= 5.7.0
+Requires: libyaz5 >= 5.12.0
 Requires: pazpar2-xsl
 
 %description
index 03b0421..c39077d 100755 (executable)
@@ -93,6 +93,7 @@ if [ "$TIME" != "" ] ; then
 else
     wget -q -O ${TMP_DIR}$OF.show.xml "$H?command=show&session=$S&sort=relevance&start=0&num=100&block=1"
 fi
+wget -q -O ${TMP_DIR}$OF.termlist.xml "$H?command=termlist&session=$S"
 wget -q -O ${TMP_DIR}$OF.bytarget.xml "$H?command=bytarget&session=$S"
 wget -q -O ${TMP_DIR}$OF.stat.xml "$H?command=stat&session=$S"
 wget -q -O ${TMP_DIR}$OF.info.xml "$H?command=info"
index 61b6f19..b36d7e2 100644 (file)
@@ -29,6 +29,7 @@ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
 #include <yaz/wrbuf.h>
 #include <yaz/log.h>
 #include <yaz/yaz-version.h>
+#include <yaz/xml_get.h>
 #include <ctype.h>
 #include <assert.h>
 #include <string.h>
@@ -166,11 +167,10 @@ int pp2_charset_fact_add(pp2_charset_fact_t pft,
 }
 
 int pp2_charset_fact_define(pp2_charset_fact_t pft,
-                            xmlNode *xml_node, const char *default_id)
+                            xmlNode *xml_node, const char *id)
 {
     int r;
     pp2_charset_t pct;
-    xmlChar *id = 0;
 
     assert(xml_node);
 
@@ -190,20 +190,17 @@ int pp2_charset_fact_define(pp2_charset_fact_t pft,
     pct = pp2_charset_create_xml(xml_node);
     if (!pct)
         return -1;
-    if (!default_id)
+    if (!id)
     {
-        id = xmlGetProp(xml_node, (xmlChar*) "id");
+        id = yaz_xml_get_prop(xml_node, "id");
         if (!id)
         {
             yaz_log(YLOG_WARN, "Missing id for icu_chain");
             pp2_charset_destroy(pct);
             return -1;
         }
-        default_id = (const char *) id;
     }
-    r = pp2_charset_fact_add(pft, pct, default_id);
-    if (id)
-        xmlFree(id);
+    r = pp2_charset_fact_add(pft, pct, id);
     return r;
 }
 
index 3e40467..75a8e20 100644 (file)
@@ -521,7 +521,7 @@ static void client_report_facets(struct client *cl, ZOOM_resultset rs)
                                 ZOOM_facet_field_get_term(facets[facet_idx],
                                                           term_idx, &freq);
                             if (term)
-                                add_facet(se, p, term, freq);
+                                add_facet(se, p, term, freq, cl);
                         }
                         break;
                     }
@@ -778,6 +778,8 @@ int client_has_facet(struct client *cl, const char *name)
     for (s = sdb->settings[PZ_FACETMAP]; s; s = s->next)
     {
         const char *p = strchr(s->name + 3, ':');
+        if ( !strncmp(p, ":split:", 7) )
+            p += 6; // PAZ-1009
         if (p && !strcmp(name, p + 1))
             return 1;
     }
@@ -888,6 +890,22 @@ int client_parse_range(struct client *cl, const char *startrecs,
     return 0;
 }
 
+const char *client_get_query(struct client *cl, const char **type, NMEM nmem)
+{
+    if (cl->pquery)
+    {
+        *type = "pqf";
+        return nmem_strdup(nmem, cl->pquery);
+    }
+    if (cl->cqlquery)
+    {
+        *type = "cql";
+        return nmem_strdup(nmem, cl->cqlquery);
+    }
+    *type = 0;
+    return 0;
+}
+
 int client_start_search(struct client *cl)
 {
     struct session_database *sdb = client_get_database(cl);
@@ -1315,7 +1333,32 @@ const char *client_get_facet_limit_local(struct client *cl,
     return 0;
 }
 
-static int apply_limit(struct session_database *sdb,
+static void ccl_quote_map_term(CCL_bibset ccl_map, WRBUF w,
+                               const char *term)
+{
+    int quote_it = 0;
+    const char *cp;
+    for (cp = term; *cp; cp++)
+        if ((*cp >= '0' && *cp <= '9') || strchr(" +-", *cp))
+            ;
+        else
+            quote_it = 1;
+    if (!quote_it)
+        wrbuf_puts(w, term);
+    else
+    {
+        wrbuf_putc(w, '\"');
+        for (cp = term; *cp; cp++)
+        {
+            if (strchr( "\\\"", *cp))
+                wrbuf_putc(w, '\\');
+            wrbuf_putc(w, *cp);
+        }
+        wrbuf_putc(w, '\"');
+    }
+}
+
+static int apply_limit(struct client *cl,
                        facet_limits_t facet_limits,
                        WRBUF w_pqf, CCL_bibset ccl_map,
                        struct conf_service *service)
@@ -1324,6 +1367,7 @@ static int apply_limit(struct session_database *sdb,
     int i = 0;
     const char *name;
     const char *value;
+    struct session_database *sdb = client_get_database(cl);
 
     NMEM nmem_tmp = nmem_create();
     for (i = 0; (name = facet_limits_get(facet_limits, i, &value)); i++)
@@ -1343,6 +1387,28 @@ static int apply_limit(struct session_database *sdb,
                 nmem_strsplit_escape2(nmem_tmp, "|", value, &values,
                                       &num, 1, '\\', 1);
 
+                for (i = 0; i < num; i++)
+                {
+                    const char *id = session_lookup_id_facet(cl->session,
+                                                             cl, name,
+                                                             values[i]);
+                    if (id)
+                    {
+                        if ( *id )
+                        {
+                            values[i] = nmem_strdup(nmem_tmp, id);
+                            yaz_log(YLOG_DEBUG,
+                                "apply_limit: s='%s' found id '%s'",s->name,id );
+                        }
+                        else
+                        {
+                            yaz_log(YLOG_DEBUG,
+                                "apply_limit: %s: term '%s' not found, failing client",
+                                s->name, values[i] );
+                            ret = -1;
+                        }
+                    }
+                }
                 nmem_strsplit_escape2(nmem_tmp, ",", s->value, &cvalues,
                                       &cnum, 1, '\\', 1);
 
@@ -1375,10 +1441,8 @@ static int apply_limit(struct session_database *sdb,
                             struct ccl_rpn_node *cn;
                             wrbuf_rewind(ccl_w);
                             wrbuf_puts(ccl_w, ccl);
-                            wrbuf_puts(ccl_w, "=\"");
-                            wrbuf_puts(ccl_w, values[i]);
-                            wrbuf_puts(ccl_w, "\"");
-
+                            wrbuf_putc(ccl_w, '=');
+                            ccl_quote_map_term(ccl_map, ccl_w, values[i]);
                             cn = ccl_find_str(ccl_map, wrbuf_cstr(ccl_w),
                                               &cerror, &cpos);
                             if (cn)
@@ -1461,6 +1525,9 @@ int client_parse_query(struct client *cl, const char *query,
     if (!ccl_map)
         return -3;
 
+    xfree(cl->cqlquery);
+    cl->cqlquery = 0;
+
     w_ccl = wrbuf_alloc();
     wrbuf_puts(w_ccl, query);
 
@@ -1471,9 +1538,17 @@ int client_parse_query(struct client *cl, const char *query,
         wrbuf_puts(w_pqf, " ");
     }
 
-    if (apply_limit(sdb, facet_limits, w_pqf, ccl_map, service))
+    if (apply_limit(cl, facet_limits, w_pqf, ccl_map, service))
     {
+        client_set_state(cl, Client_Error);
         ccl_qual_rm(&ccl_map);
+
+        wrbuf_destroy(w_ccl);
+        wrbuf_destroy(w_pqf);
+
+        xfree(cl->pquery);
+        cl->pquery = 0;
+
         return -2;
     }
 
@@ -1494,6 +1569,10 @@ int client_parse_query(struct client *cl, const char *query,
                     wrbuf_cstr(w_ccl));
         wrbuf_destroy(w_ccl);
         wrbuf_destroy(w_pqf);
+
+        xfree(cl->pquery);
+        cl->pquery = 0;
+
         return -1;
     }
     wrbuf_destroy(w_ccl);
@@ -1524,7 +1603,7 @@ int client_parse_query(struct client *cl, const char *query,
     {
         if (cl->pquery)
             session_log(se, YLOG_LOG, "Client %s: "
-                        "Re-search due query/limit change: %s to %s", 
+                        "Re-search due query/limit change: %s to %s",
                         client_get_id(cl), cl->pquery, wrbuf_cstr(w_pqf));
         xfree(cl->pquery);
         cl->pquery = xstrdup(wrbuf_cstr(w_pqf));
@@ -1535,14 +1614,10 @@ int client_parse_query(struct client *cl, const char *query,
     }
     wrbuf_destroy(w_pqf);
 
-    xfree(cl->cqlquery);
-    cl->cqlquery = 0;
-
     odr_out = odr_createmem(ODR_ENCODE);
     zquery = p_query_rpn(odr_out, cl->pquery);
     if (!zquery)
     {
-
         session_log(se, YLOG_WARN, "Invalid PQF query for Client %s: %s",
                     client_get_id(cl), cl->pquery);
         ret_value = -1;
@@ -1586,8 +1661,11 @@ int client_parse_query(struct client *cl, const char *query,
     return ret_value;
 }
 
-int client_parse_sort(struct client *cl, struct reclist_sortparms *sp)
+int client_parse_sort(struct client *cl, struct reclist_sortparms *sp,
+                      int *has_sortmap)
 {
+    if (has_sortmap)
+        *has_sortmap = 0;
     if (sp)
     {
         const char *sort_strategy_and_spec =
@@ -1623,6 +1701,8 @@ int client_parse_sort(struct client *cl, struct reclist_sortparms *sp)
                     xfree(cl->sort_criteria);
                     cl->sort_criteria = xstrdup(p);
                 }
+                if (has_sortmap)
+                    (*has_sortmap)++;
             }
             else {
                 yaz_log(YLOG_LOG, "Client %s: "
@@ -1726,12 +1806,12 @@ int client_get_diagnostic(struct client *cl, const char **message,
     return cl->diagnostic;
 }
 
-const char * client_get_suggestions_xml(struct client *cl, WRBUF wrbuf)
+const char *client_get_suggestions_xml(struct client *cl, WRBUF wrbuf)
 {
     /* int idx; */
     struct suggestions *suggestions = cl->suggestions;
 
-    if (!suggestions) 
+    if (!suggestions)
         return "";
     if (suggestions->passthrough)
     {
@@ -1755,7 +1835,6 @@ const char * client_get_suggestions_xml(struct client *cl, WRBUF wrbuf)
     return wrbuf_cstr(wrbuf);
 }
 
-
 void client_set_database(struct client *cl, struct session_database *db)
 {
     cl->database = db;
index 9a04180..058c2f3 100644 (file)
@@ -78,7 +78,8 @@ int client_start_search(struct client *cl);
 int client_fetch_more(struct client *cl);
 int client_parse_init(struct client *cl, int same_search);
 int client_parse_range(struct client *cl, const char *startrecs, const char *maxrecs);
-int client_parse_sort(struct client *cl, struct reclist_sortparms *sp);
+int client_parse_sort(struct client *cl, struct reclist_sortparms *sp,
+                      int *has_sortmap);
 void client_set_session(struct client *cl, struct session *se);
 int client_is_active(struct client *cl);
 int client_is_active_preferred(struct client *cl);
@@ -111,10 +112,14 @@ const char *client_get_facet_limit_local(struct client *cl,
                                          int *l,
                                          NMEM nmem, int *num, char ***values);
 
+const char *client_get_suggestions_xml(struct client *cl, WRBUF wrbuf);
+
 void client_update_show_stat(struct client *cl, int cmd);
 
 void client_store_xdoc(struct client *cl, int record_no, xmlDoc *xdoc);
 
+const char *client_get_query(struct client *cl, const char **type, NMEM nmem);
+
 #endif
 
 /*
index 8a833c0..e3d05dc 100644 (file)
@@ -840,13 +840,15 @@ void http_send_response(struct http_channel *ch)
     struct http_buf *hb;
 
     yaz_timing_stop(ch->yt);
-    yaz_log(YLOG_LOG, "Response: %6.5f %d %s%s%s ",
-            yaz_timing_get_real(ch->yt),
-            iochan_getfd(ch->iochan),
-            ch->request->path,
-            *ch->request->search ? "?" : "",
-            ch->request->search);
-
+    if (ch->request)
+    {
+        yaz_log(YLOG_LOG, "Response: %6.5f %d %s%s%s ",
+                yaz_timing_get_real(ch->yt),
+                iochan_getfd(ch->iochan),
+                ch->request->path,
+                *ch->request->search ? "?" : "",
+                ch->request->search);
+    }
     assert(rs);
     hb = http_serialize_response(ch, rs);
     if (!hb)
index 7c23404..503f082 100644 (file)
@@ -809,6 +809,15 @@ static void bytarget_response(struct http_channel *c, struct http_session *s,
             wrbuf_puts(c->wrbuf, ht[i].suggestions_xml);
             wrbuf_puts(c->wrbuf, "</suggestions>");
         }
+        if (ht[i].query_data)
+        {
+            wrbuf_puts(c->wrbuf, "<query_type>");
+            wrbuf_xmlputs(c->wrbuf, ht[i].query_type);
+            wrbuf_puts(c->wrbuf, "</query_type>\n");
+            wrbuf_puts(c->wrbuf, "<query_data>");
+            wrbuf_xmlputs(c->wrbuf, ht[i].query_data);
+            wrbuf_puts(c->wrbuf, "</query_data>\n");
+        }
         wrbuf_puts(c->wrbuf, "</target>");
     }
     response_close(c, "bytarget");
index 478188c..b3928aa 100644 (file)
@@ -58,7 +58,7 @@ void child_handler(void *data)
 
 static void show_version(void)
 {
-    char yaz_version_str[80];
+    char yaz_version_str[20];
     printf("Pazpar2 " PACKAGE_VERSION
 #ifdef PAZPAR2_VERSION_SHA1
            " "
@@ -214,17 +214,20 @@ static int sc_main(
     }
     pazpar2_mutex_init();
 
-    if (!test_mode)
     {
-        yaz_log(YLOG_LOG, "Pazpar2 start " VERSION " "
+        char yaz_version_str[20];
+        char yaz_sha1_str[41];
+        yaz_log(YLOG_LOG, "Pazpar2 %s " VERSION " "
 #ifdef PAZPAR2_VERSION_SHA1
                 PAZPAR2_VERSION_SHA1
 #else
                 "-"
 #endif
-            );
+                , test_mode ? "test" : "start");
+        yaz_version(yaz_version_str, yaz_sha1_str);
+        yaz_log(YLOG_LOG, "YAZ %s %s", yaz_version_str, yaz_sha1_str);
     }
-    
+
     config = config_create(config_fname);
     if (!config)
         return 1;
index 838d322..c164680 100644 (file)
@@ -169,7 +169,8 @@ static struct conf_metadata* conf_service_add_metadata(
     enum conf_metadata_mergekey mt,
     const char *facetrule,
     const char *limitmap,
-    const char *limitcluster
+    const char *limitcluster,
+    const char *icurule
     )
 {
     struct conf_metadata * md = 0;
@@ -201,6 +202,7 @@ static struct conf_metadata* conf_service_add_metadata(
     md->facetrule = nmem_strdup_null(nmem, facetrule);
     md->limitmap = nmem_strdup_null(nmem, limitmap);
     md->limitcluster = nmem_strdup_null(nmem, limitcluster);
+    md->icurule = nmem_strdup_null(nmem, icurule);
     return md;
 }
 
@@ -314,6 +316,7 @@ static int parse_metadata(struct conf_service *service, xmlNode *n,
     xmlChar *xml_limitmap = 0;
     xmlChar *xml_limitcluster = 0;
     xmlChar *xml_icu_chain = 0;
+    xmlChar *xml_icurule = 0;
 
     struct _xmlAttr *attr;
 
@@ -357,6 +360,9 @@ static int parse_metadata(struct conf_service *service, xmlNode *n,
         else if (!xmlStrcmp(attr->name, BAD_CAST "limitcluster") &&
                  attr->children && attr->children->type == XML_TEXT_NODE)
             xml_limitcluster = attr->children->content;
+        else if (!xmlStrcmp(attr->name, BAD_CAST "icurule") &&
+                 attr->children && attr->children->type == XML_TEXT_NODE)
+            xml_icurule = attr->children->content;
         else
         {
             yaz_log(YLOG_FATAL, "Unknown metadata attribute '%s'", attr->name);
@@ -514,7 +520,9 @@ static int parse_metadata(struct conf_service *service, xmlNode *n,
                               mergekey_type,
                               (const char *) xml_icu_chain,
                               (const char *) xml_limitmap,
-                              (const char *) xml_limitcluster);
+                              (const char *) xml_limitcluster,
+                              (const char *) xml_icurule
+        );
     (*md_node)++;
     return 0;
 }
@@ -1073,6 +1081,9 @@ static void info_service_metadata(struct conf_service *service, WRBUF w)
                 case Metadata_type_position:
                     wrbuf_puts(w, "position");
                     break;
+                case Metadata_type_retrieval:
+                    wrbuf_puts(w, "retrieval");
+                    break;
                 default:
                     wrbuf_puts(w, "yes");
                     break;
index ab10abd..00612a1 100644 (file)
@@ -37,6 +37,7 @@ enum conf_metadata_type {
     Metadata_type_skiparticle,
     Metadata_type_relevance,
     Metadata_type_position,
+    Metadata_type_retrieval,
 };
 
 enum conf_metadata_merge {
@@ -81,6 +82,7 @@ struct conf_metadata
 
     char *limitmap;  // Should be expanded into service-wide default e.g. pz:limitmap:<name>=value setting
     char *limitcluster;
+    char *icurule;
 };
 
 
index 5afd057..e96ee92 100644 (file)
@@ -123,7 +123,11 @@ struct reclist_sortparms *reclist_parse_sortparms(NMEM nmem, const char *parms,
             {
                 type = Metadata_type_position;
             }
-            else
+            else if (!strcmp(parm, "retrieval"))
+            {
+                type = Metadata_type_retrieval;
+            }
+            else if (service)
             {
                 for (i = 0; i < service->num_sortkeys; i++)
                 {
@@ -142,6 +146,12 @@ struct reclist_sortparms *reclist_parse_sortparms(NMEM nmem, const char *parms,
                 }
                 offset = i;
             }
+            else
+            {
+                yaz_log(YLOG_FATAL, "Sortkey not defined in service: %s",
+                        parm);
+                return 0;
+            }
         }
         new = *rp = nmem_malloc(nmem, sizeof(struct reclist_sortparms));
         new->next = 0;
@@ -234,6 +244,9 @@ static int reclist_cmp(const void *p1, const void *p2)
             else
                 res = 0;
             break;
+        case Metadata_type_retrieval:
+            res = r1->retrieval_position - r2->retrieval_position;
+            break;
         }
         if (res && !s->increasing)
             res *= -1;
@@ -441,6 +454,7 @@ static struct record_cluster *new_cluster(
     cluster = nmem_malloc(l->nmem, sizeof(*cluster));
 
     record->next = 0;
+    cluster->retrieval_position = l->num_records;
     cluster->records = record;
     cluster->merge_keys = 0;
     append_merge_keys(&cluster->merge_keys, merge_keys, l->nmem);
index 84da2c8..19b06d7 100644 (file)
@@ -129,6 +129,7 @@ int record_compare(struct record *r1, struct record *r2,
                     return 0;
             case Metadata_type_position:
             case Metadata_type_relevance:
+            case Metadata_type_retrieval:
                 break;
             }
             m1 = m1->next;
index cb8df1e..95c470e 100644 (file)
@@ -27,6 +27,7 @@ struct conf_service;
 union data_types {
     struct {
         const char *disp;
+        const char *norm;
         const char *sort;
         const char *snippet;
     } text;
@@ -93,6 +94,7 @@ struct record_cluster
     float *term_frequency_vecf;
     // Set-specific ID for this record
     char *recid;
+    int retrieval_position;
     WRBUF relevance_explain1;
     WRBUF relevance_explain2;
     struct record *records;
index 1cec7ea..41447c6 100644 (file)
@@ -56,6 +56,7 @@ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
 #include <yaz/querytowrbuf.h>
 #include <yaz/oid_db.h>
 #include <yaz/snprintf.h>
+#include <yaz/xml_get.h>
 
 #define USE_TIMING 0
 #if USE_TIMING
@@ -149,30 +150,19 @@ static void session_leave(struct session *s, const char *caller)
         session_log(s, YLOG_DEBUG, "Session unlock by %s", caller);
 }
 
-static void session_normalize_facet(struct session *s,
-                                    const char *type, const char *value,
-                                    WRBUF display_wrbuf, WRBUF facet_wrbuf)
+static int run_icu(struct session *s, const char *icu_chain_id,
+                   const char *value,
+                   WRBUF norm_wr, WRBUF disp_wr)
 {
-    struct conf_service *service = s->service;
-    pp2_charset_token_t prt;
     const char *facet_component;
-    int i;
-    const char *icu_chain_id = 0;
-
-    for (i = 0; i < service->num_metadata; i++)
-        if (!strcmp((service->metadata + i)->name, type))
-            icu_chain_id = (service->metadata + i)->facetrule;
-    if (!icu_chain_id)
-        icu_chain_id = "facet";
-    prt = pp2_charset_token_create(service->charsets, icu_chain_id);
+    struct conf_service *service = s->service;
+    pp2_charset_token_t prt =
+        pp2_charset_token_create(service->charsets, icu_chain_id);
     if (!prt)
     {
         session_log(s, YLOG_FATAL,
-                    "Unknown ICU chain '%s' for facet of type '%s'",
-                icu_chain_id, type);
-        wrbuf_destroy(facet_wrbuf);
-        wrbuf_destroy(display_wrbuf);
-        return;
+                    "Unknown ICU chain '%s'", icu_chain_id);
+        return 0;
     }
     pp2_charset_token_first(prt, value, 0);
     while ((facet_component = pp2_charset_token_next(prt)))
@@ -180,28 +170,108 @@ static void session_normalize_facet(struct session *s,
         const char *display_component;
         if (*facet_component)
         {
-            if (wrbuf_len(facet_wrbuf))
-                wrbuf_puts(facet_wrbuf, " ");
-            wrbuf_puts(facet_wrbuf, facet_component);
+            if (wrbuf_len(norm_wr))
+                wrbuf_puts(norm_wr, " ");
+            wrbuf_puts(norm_wr, facet_component);
         }
         display_component = pp2_get_display(prt);
         if (display_component)
         {
-            if (wrbuf_len(display_wrbuf))
-                wrbuf_puts(display_wrbuf, " ");
-            wrbuf_puts(display_wrbuf, display_component);
+            if (wrbuf_len(disp_wr))
+                wrbuf_puts(disp_wr, " ");
+            wrbuf_puts(disp_wr, display_component);
         }
     }
     pp2_charset_token_destroy(prt);
+    return 1;
 }
 
-void add_facet(struct session *s, const char *type, const char *value, int count)
+static void session_normalize_facet(struct session *s,
+                                    const char *type, const char *value,
+                                    WRBUF display_wrbuf, WRBUF facet_wrbuf)
+{
+    struct conf_service *service = s->service;
+    int i;
+    const char *icu_chain_id = 0;
+
+    for (i = 0; i < service->num_metadata; i++)
+        if (!strcmp((service->metadata + i)->name, type))
+            icu_chain_id = (service->metadata + i)->facetrule;
+    if (!icu_chain_id)
+        icu_chain_id = "facet";
+
+    run_icu(s, icu_chain_id, value, facet_wrbuf, display_wrbuf);
+}
+
+struct facet_id {
+    char *client_id;
+    char *type;
+    char *id;
+    char *term;
+    struct facet_id *next;
+};
+
+static void session_add_id_facet(struct session *s, struct client *cl,
+                                 const char *type,
+                                 const char *id,
+                                 size_t id_len,
+                                 const char *term)
+{
+    struct facet_id *t = nmem_malloc(s->session_nmem, sizeof(*t));
+
+    t->client_id = nmem_strdup(s->session_nmem, client_get_id(cl));
+    t->type = nmem_strdup(s->session_nmem, type);
+    t->id = nmem_strdupn(s->session_nmem, id, id_len);
+    t->term = nmem_strdup(s->session_nmem, term);
+    t->next = s->facet_id_list;
+    s->facet_id_list = t;
+}
+
+
+// Look up a facet term, and return matching id
+// If facet type not found, returns 0
+// If facet type found, but no matching term, returns ""
+const char *session_lookup_id_facet(struct session *s, struct client *cl,
+                                    const char *type,
+                                    const char *term)
+{
+    char *retval = 0;
+    struct facet_id *t = s->facet_id_list;
+    for (; t; t = t->next) 
+    {
+        if (!strcmp(client_get_id(cl), t->client_id) &&  !strcmp(t->type, type) )
+        {
+            retval = "";
+            if ( !strcmp(t->term, term))
+            {
+                return t->id;
+            }
+        }
+    }
+    return retval;
+}
+
+void add_facet(struct session *s, const char *type, const char *value, int count, struct client *cl)
 {
     WRBUF facet_wrbuf = wrbuf_alloc();
     WRBUF display_wrbuf = wrbuf_alloc();
+    const char *id = 0;
+    size_t id_len = 0;
 
-    session_normalize_facet(s, type, value, display_wrbuf, facet_wrbuf);
+    /* inspect pz:facetmap:split:name ?? */
+    if (!strncmp(type, "split:", 6))
+    {
+        const char *cp = strchr(value, ':');
+        if (cp)
+        {
+            id = value;
+            id_len = cp - value;
+            value = cp + 1;
+        }
+        type += 6;
+    }
 
+    session_normalize_facet(s, type, value, display_wrbuf, facet_wrbuf);
     if (wrbuf_len(facet_wrbuf))
     {
         struct named_termlist **tp = &s->termlists;
@@ -216,7 +286,10 @@ void add_facet(struct session *s, const char *type, const char *value, int count
             (*tp)->next = 0;
         }
         termlist_insert((*tp)->termlist, wrbuf_cstr(display_wrbuf),
-                        wrbuf_cstr(facet_wrbuf), count);
+                        wrbuf_cstr(facet_wrbuf), id, id_len, count);
+        if (id)
+            session_add_id_facet(s, cl, type, id, id_len,
+                                 wrbuf_cstr(display_wrbuf));
     }
     wrbuf_destroy(facet_wrbuf);
     wrbuf_destroy(display_wrbuf);
@@ -650,7 +723,7 @@ void session_sort(struct session *se, struct reclist_sortparms *sp,
                 break;
         if (sr)
         {
-            session_log(se, YLOG_DEBUG, "session_sort: field=%s increasing=%d type=%d already fetched",
+            session_log(se, YLOG_LOG, "session_sort: field=%s increasing=%d type=%d already fetched",
                         field, increasing, type);
             session_leave(se, "session_sort");
             return;
@@ -668,7 +741,7 @@ void session_sort(struct session *se, struct reclist_sortparms *sp,
         struct client *cl = l->client;
         // Assume no re-search is required.
         client_parse_init(cl, 1);
-        clients_research += client_parse_sort(cl, sp);
+        clients_research += client_parse_sort(cl, sp, 0);
     }
     if (!clients_research || se->clients_starting)
     {
@@ -710,6 +783,7 @@ void session_sort(struct session *se, struct reclist_sortparms *sp,
         }
         session_enter(se, "session_sort");
         se->clients_starting = 0;
+        se->force_position = 0;
         session_leave(se, "session_sort");
     }
 }
@@ -757,6 +831,7 @@ enum pazpar2_error_code session_search(struct session *se,
     int no_working = 0;
     int no_failed_query = 0;
     int no_failed_limit = 0;
+    int no_sortmap = 0;
     struct client_list *l;
 
     session_log(se, YLOG_DEBUG, "Search");
@@ -770,6 +845,7 @@ enum pazpar2_error_code session_search(struct session *se,
         return PAZPAR2_NO_ERROR;
     }
     se->clients_starting = 1;
+    se->force_position = 0;
     session_leave(se, "session_search0");
 
     if (se->settings_modified) {
@@ -810,6 +886,7 @@ enum pazpar2_error_code session_search(struct session *se,
         *addinfo = "limit";
         session_leave(se, "session_search");
         se->clients_starting = 0;
+        session_reset_active_clients(se, 0);
         return PAZPAR2_MALFORMED_PARAMETER_VALUE;
     }
 
@@ -838,12 +915,19 @@ enum pazpar2_error_code session_search(struct session *se,
         else
         {
             client_parse_range(cl, startrecs, maxrecs);
-            client_parse_sort(cl, sp);
+            client_parse_sort(cl, sp, &no_sortmap);
             client_start_search(cl);
             no_working++;
         }
     }
+    yaz_log(YLOG_LOG, "session_search: no_working=%d no_sortmap=%d",
+            no_working, no_sortmap);
     session_enter(se, "session_search2");
+    if (no_working == 1 && no_sortmap == 1)
+    {
+        se->force_position = 1;
+        yaz_log(YLOG_LOG, "force_position=1");
+    }
     se->clients_starting = 0;
     session_leave(se, "session_search2");
     if (no_working == 0)
@@ -1019,6 +1103,7 @@ struct session *new_session(NMEM nmem, struct conf_service *service,
     session->clients_cached = 0;
     session->settings_modified = 0;
     session->session_nmem = nmem;
+    session->facet_id_list = 0;
     session->nmem = nmem_create();
     session->databases = 0;
     session->sorted_results = 0;
@@ -1026,6 +1111,7 @@ struct session *new_session(NMEM nmem, struct conf_service *service,
     session->mergekey = 0;
     session->rank = 0;
     session->clients_starting = 0;
+    session->force_position = 0;
 
     for (i = 0; i <= SESSION_WATCH_MAX; i++)
     {
@@ -1041,8 +1127,6 @@ struct session *new_session(NMEM nmem, struct conf_service *service,
     return session;
 }
 
-const char * client_get_suggestions_xml(struct client *cl, WRBUF wrbuf);
-
 static struct hitsbytarget *hitsbytarget_nb(struct session *se,
                                             int *count, NMEM nmem)
 {
@@ -1076,8 +1160,11 @@ static struct hitsbytarget *hitsbytarget_nb(struct session *se,
         session_settings_dump(se, client_get_database(cl), w);
         res[*count].settings_xml = nmem_strdup(nmem, wrbuf_cstr(w));
         wrbuf_rewind(w);
-        wrbuf_puts(w, "");
-        res[*count].suggestions_xml = nmem_strdup(nmem, client_get_suggestions_xml(cl, w));
+        res[*count].suggestions_xml =
+            nmem_strdup(nmem, client_get_suggestions_xml(cl, w));
+
+        res[*count].query_data =
+            client_get_query(cl, &res[*count].query_type, nmem);
         wrbuf_destroy(w);
         (*count)++;
     }
@@ -1207,7 +1294,6 @@ void perform_termlist(struct http_channel *c, struct session *se,
                         wrbuf_puts(c->wrbuf, "<name>");
                         wrbuf_xmlputs(c->wrbuf, p[i]->display_term);
                         wrbuf_puts(c->wrbuf, "</name>");
-
                         wrbuf_printf(c->wrbuf,
                                      "<frequency>%d</frequency>",
                                      p[i]->frequency);
@@ -1344,6 +1430,7 @@ struct record_cluster **show_range_start(struct session *se,
     struct reclist_sortparms *spp;
     struct client_list *l;
     int i;
+    NMEM nmem_tmp = 0;
 #if USE_TIMING
     yaz_timing_t t = yaz_timing_create();
 #endif
@@ -1365,7 +1452,15 @@ struct record_cluster **show_range_start(struct session *se,
             *approx_hits += client_get_approximation(l->client);
         }
     }
+    if (se->force_position)
+    {
+        nmem_tmp = nmem_create();
+        sp = reclist_parse_sortparms(nmem_tmp, "position:1", 0);
+        assert(sp);
+    }
     reclist_sort(se->reclist, sp);
+    if (nmem_tmp)
+        nmem_destroy(nmem_tmp);
 
     reclist_enter(se->reclist);
     *total = reclist_get_num_records(se->reclist);
@@ -1470,7 +1565,8 @@ void statistics(struct session *se, struct statistics *stat)
 }
 
 static struct record_metadata *record_metadata_init(
-    NMEM nmem, const char *value, enum conf_metadata_type type,
+    NMEM nmem, const char *value, const char *norm,
+    enum conf_metadata_type type,
     struct _xmlAttr *attr)
 {
     struct record_metadata *rec_md = record_metadata_create(nmem);
@@ -1500,11 +1596,20 @@ static struct record_metadata *record_metadata_init(
     {
     case Metadata_type_generic:
     case Metadata_type_skiparticle:
-        if (strstr(value, "://")) /* looks like a URL */
+        if (norm)
+        {
             rec_md->data.text.disp = nmem_strdup(nmem, value);
+            rec_md->data.text.norm = nmem_strdup(nmem, norm);
+        }
         else
-            rec_md->data.text.disp =
-                normalize7bit_generic(nmem_strdup(nmem, value), " ,/.:([");
+        {
+            if (strstr(value, "://")) /* looks like a URL */
+                rec_md->data.text.disp = nmem_strdup(nmem, value);
+            else
+                rec_md->data.text.disp =
+                    normalize7bit_generic(nmem_strdup(nmem, value), " ,/.:([");
+            rec_md->data.text.norm = rec_md->data.text.disp;
+        }
         rec_md->data.text.sort = 0;
         rec_md->data.text.snippet = 0;
         break;
@@ -1528,6 +1633,7 @@ static struct record_metadata *record_metadata_init(
         break;
     case Metadata_type_relevance:
     case Metadata_type_position:
+    case Metadata_type_retrieval:
         return 0;
     }
     return rec_md;
@@ -1564,7 +1670,7 @@ static int get_mergekey_from_doc(xmlDoc *doc, xmlNode *root, const char *name,
             continue;
         if (!strcmp((const char *) n->name, "metadata"))
         {
-            xmlChar *type = xmlGetProp(n, (xmlChar *) "type");
+            const char *type = yaz_xml_get_prop(n, "type");
             if (type == NULL) {
                 yaz_log(YLOG_FATAL, "Missing type attribute on metadata element. Skipping!");
             }
@@ -1583,7 +1689,6 @@ static int get_mergekey_from_doc(xmlDoc *doc, xmlNode *root, const char *name,
                 if (value)
                     xmlFree(value);
             }
-            xmlFree(type);
         }
     }
     return no_found;
@@ -1596,7 +1701,7 @@ static const char *get_mergekey(xmlDoc *doc, xmlNode *root,
 {
     char *mergekey_norm = 0;
     WRBUF norm_wr = wrbuf_alloc();
-    xmlChar *mergekey;
+    const char *mergekey;
 
     if (session_mergekey)
     {
@@ -1608,10 +1713,9 @@ static const char *get_mergekey(xmlDoc *doc, xmlNode *root,
         for (i = 0; i < num; i++)
             get_mergekey_from_doc(doc, root, values[i], service, norm_wr);
     }
-    else if ((mergekey = xmlGetProp(root, (xmlChar *) "mergekey")))
+    else if ((mergekey = yaz_xml_get_prop(root, "mergekey")))
     {
-        mergekey_norm_wr(service->charsets, norm_wr, (const char *) mergekey);
-        xmlFree(mergekey);
+        mergekey_norm_wr(service->charsets, norm_wr, mergekey);
     }
     else
     {
@@ -1638,7 +1742,7 @@ static const char *get_mergekey(xmlDoc *doc, xmlNode *root,
     /* generate unique key if none is not generated already or is empty */
     if (wrbuf_len(norm_wr) == 0)
     {
-        wrbuf_printf(norm_wr, "position: %s-%d",
+        wrbuf_printf(norm_wr, "position: %s-%06d",
                      client_get_id(cl), record_no);
     }
     else
@@ -1678,7 +1782,7 @@ static int check_record_filter(xmlNode *root, struct session_database *sdb)
             continue;
         if (!strcmp((const char *) n->name, "metadata"))
         {
-            xmlChar *type = xmlGetProp(n, (xmlChar *) "type");
+            const char *type = yaz_xml_get_prop(n, "type");
             if (type)
             {
                 size_t len;
@@ -1706,7 +1810,6 @@ static int check_record_filter(xmlNode *root, struct session_database *sdb)
                     }
                     xmlFree(value);
                 }
-                xmlFree(type);
             }
         }
     }
@@ -1714,6 +1817,8 @@ static int check_record_filter(xmlNode *root, struct session_database *sdb)
 }
 
 static int ingest_to_cluster(struct client *cl,
+                             WRBUF wrbuf_disp,
+                             WRBUF wrbuf_norm,
                              xmlDoc *xdoc,
                              xmlNode *root,
                              int record_no,
@@ -1726,6 +1831,7 @@ static int ingest_sub_record(struct client *cl, xmlDoc *xdoc, xmlNode *root,
 {
     int ret = 0;
     struct session *se = client_get_session(cl);
+    WRBUF wrbuf_disp, wrbuf_norm;
 
     if (!check_record_filter(root, sdb))
     {
@@ -1734,11 +1840,15 @@ static int ingest_sub_record(struct client *cl, xmlDoc *xdoc, xmlNode *root,
                     record_no, sdb->database->id);
         return 0;
     }
+    wrbuf_disp = wrbuf_alloc();
+    wrbuf_norm = wrbuf_alloc();
     session_enter(se, "ingest_sub_record");
     if (client_get_session(cl) == se && se->relevance)
-        ret = ingest_to_cluster(cl, xdoc, root, record_no, mergekeys);
+        ret = ingest_to_cluster(cl, wrbuf_disp, wrbuf_norm,
+                                xdoc, root, record_no, mergekeys);
     session_leave(se, "ingest_sub_record");
-
+    wrbuf_destroy(wrbuf_norm);
+    wrbuf_destroy(wrbuf_disp);
     return ret;
 }
 
@@ -2019,14 +2129,14 @@ static int check_limit_local(struct client *cl,
 }
 
 static int ingest_to_cluster(struct client *cl,
+                             WRBUF wrbuf_disp,
+                             WRBUF wrbuf_norm,
                              xmlDoc *xdoc,
                              xmlNode *root,
                              int record_no,
                              struct record_metadata_attr *merge_keys)
 {
     xmlNode *n;
-    xmlChar *type = 0;
-    xmlChar *value = 0;
     struct session *se = client_get_session(cl);
     struct conf_service *service = se->service;
     int term_factor = 1;
@@ -2043,12 +2153,6 @@ static int ingest_to_cluster(struct client *cl,
 
     for (n = root->children; n; n = n->next)
     {
-        if (type)
-            xmlFree(type);
-        if (value)
-            xmlFree(value);
-        type = value = 0;
-
         if (n->type != XML_ELEMENT_NODE)
             continue;
         if (!strcmp((const char *) n->name, "metadata"))
@@ -2057,20 +2161,12 @@ static int ingest_to_cluster(struct client *cl,
             struct record_metadata **wheretoput = 0;
             struct record_metadata *rec_md = 0;
             int md_field_id = -1;
+            xmlChar *value0;
+            const char *type = yaz_xml_get_prop(n, "type");
 
-            type = xmlGetProp(n, (xmlChar *) "type");
-            value = xmlNodeListGetString(xdoc, n->children, 1);
             if (!type)
                 continue;
-            if (!value || !*value)
-            {
-                xmlChar *empty = xmlGetProp(n, (xmlChar *) "empty");
-                if (!empty)
-                    continue;
-                if (value)
-                    xmlFree(value);
-                value = empty;
-            }
+
             md_field_id
                 = conf_service_metadata_field_id(service, (const char *) type);
             if (md_field_id < 0)
@@ -2084,15 +2180,30 @@ static int ingest_to_cluster(struct client *cl,
                 continue;
             }
 
+            wrbuf_rewind(wrbuf_disp);
+            value0 = xmlNodeListGetString(xdoc, n->children, 1);
+            if (!value0 || !*value0)
+            {
+                const char *empty = yaz_xml_get_prop(n, "empty");
+                if (!empty)
+                    continue;
+                wrbuf_puts(wrbuf_disp, (const char *) empty);
+            }
+            else
+            {
+                wrbuf_puts(wrbuf_disp, (const char *) value0);
+            }
+            if (value0)
+                xmlFree(value0);
             ser_md = &service->metadata[md_field_id];
 
             // non-merged metadata
-            rec_md = record_metadata_init(se->nmem, (const char *) value,
+            rec_md = record_metadata_init(se->nmem, wrbuf_cstr(wrbuf_disp), 0,
                                           ser_md->type, n->properties);
             if (!rec_md)
             {
                 session_log(se, YLOG_WARN, "bad metadata data '%s' "
-                            "for element '%s'", value, type);
+                            "for element '%s'", wrbuf_cstr(wrbuf_disp), type);
                 continue;
             }
 
@@ -2100,7 +2211,7 @@ static int ingest_to_cluster(struct client *cl,
             {
                 WRBUF w = wrbuf_alloc();
                 if (relevance_snippet(se->relevance,
-                                      (char*) value, ser_md->name, w))
+                                      wrbuf_cstr(wrbuf_disp), ser_md->name, w))
                     rec_md->data.text.snippet = nmem_strdup(se->nmem,
                                                             wrbuf_cstr(w));
                 wrbuf_destroy(w);
@@ -2116,20 +2227,12 @@ static int ingest_to_cluster(struct client *cl,
 
     if (check_limit_local(cl, record, record_no))
     {
-        if (type)
-            xmlFree(type);
-        if (value)
-            xmlFree(value);
         return -2;
     }
     cluster = reclist_insert(se->reclist, se->relevance, service, record,
                              merge_keys, &se->total_merged);
     if (!cluster)
     {
-        if (type)
-            xmlFree(type);
-        if (value)
-            xmlFree(value);
         return 0; // complete match with existing record
     }
 
@@ -2167,13 +2270,6 @@ static int ingest_to_cluster(struct client *cl,
     // now parsing XML record and adding data to cluster or record metadata
     for (n = root->children; n; n = n->next)
     {
-        pp2_charset_token_t prt;
-        if (type)
-            xmlFree(type);
-        if (value)
-            xmlFree(value);
-        type = value = 0;
-
         if (n->type != XML_ELEMENT_NODE)
             continue;
         if (!strcmp((const char *) n->name, "metadata"))
@@ -2185,12 +2281,12 @@ static int ingest_to_cluster(struct client *cl,
             int md_field_id = -1;
             int sk_field_id = -1;
             const char *rank = 0;
-            xmlChar *xml_rank = 0;
-
-            type = xmlGetProp(n, (xmlChar *) "type");
-            value = xmlNodeListGetString(xdoc, n->children, 1);
+            const char *xml_rank = 0;
+            const char *type = 0;
+            xmlChar *value0;
 
-            if (!type || !value || !*value)
+            type = yaz_xml_get_prop(n, "type");
+            if (!type)
                 continue;
 
             md_field_id
@@ -2206,12 +2302,39 @@ static int ingest_to_cluster(struct client *cl,
                 ser_sk = &service->sortkeys[sk_field_id];
             }
 
-            // merged metadata
-            rec_md = record_metadata_init(se->nmem, (const char *) value,
-                                          ser_md->type, 0);
+            wrbuf_rewind(wrbuf_disp);
+            wrbuf_rewind(wrbuf_norm);
 
-            // see if the field was not in cluster already (from beginning)
+            value0 = xmlNodeListGetString(xdoc, n->children, 1);
+            if (!value0 || !*value0)
+            {
+                if (value0)
+                    xmlFree(value0);
+                continue;
+            }
+
+            if (ser_md->icurule)
+            {
+                run_icu(se, ser_md->icurule, (const char *) value0,
+                        wrbuf_norm, wrbuf_disp);
+                yaz_log(YLOG_LOG, "run_icu input=%s norm=%s disp=%s",
+                        (const char *) value0,
+                        wrbuf_cstr(wrbuf_norm), wrbuf_cstr(wrbuf_disp));
+                rec_md = record_metadata_init(se->nmem, wrbuf_cstr(wrbuf_disp),
+                                              wrbuf_cstr(wrbuf_norm),
+                                              ser_md->type, 0);
+            }
+            else
+            {
+                wrbuf_puts(wrbuf_disp, (const char *) value0);
+                rec_md = record_metadata_init(se->nmem, wrbuf_cstr(wrbuf_disp),
+                                              0,
+                                              ser_md->type, 0);
+            }
+
+            xmlFree(value0);
 
+            // see if the field was not in cluster already (from beginning)
             if (!rec_md)
                 continue;
 
@@ -2234,7 +2357,7 @@ static int ingest_to_cluster(struct client *cl,
             }
             else
             {
-                xml_rank = xmlGetProp(n, (xmlChar *) "rank");
+                xml_rank = yaz_xml_get_prop(n, "rank");
                 rank = xml_rank ? (const char *) xml_rank : ser_md->rank;
             }
 
@@ -2253,8 +2376,8 @@ static int ingest_to_cluster(struct client *cl,
             {
                 while (*wheretoput)
                 {
-                    if (!strcmp((const char *) (*wheretoput)->data.text.disp,
-                                rec_md->data.text.disp))
+                    if (!strcmp((const char *) (*wheretoput)->data.text.norm,
+                                rec_md->data.text.norm))
                         break;
                     wheretoput = &(*wheretoput)->next;
                 }
@@ -2264,12 +2387,13 @@ static int ingest_to_cluster(struct client *cl,
             else if (ser_md->merge == Metadata_merge_longest)
             {
                 if (!*wheretoput
-                    || strlen(rec_md->data.text.disp)
-                    > strlen((*wheretoput)->data.text.disp))
+                    || strlen(rec_md->data.text.norm)
+                    > strlen((*wheretoput)->data.text.norm))
                 {
                     *wheretoput = rec_md;
                     if (ser_sk)
                     {
+                        pp2_charset_token_t prt;
                         const char *sort_str = 0;
                         int skip_article =
                             ser_sk->type == Metadata_type_skiparticle;
@@ -2333,7 +2457,8 @@ static int ingest_to_cluster(struct client *cl,
             if (rank)
             {
                 relevance_countwords(se->relevance, cluster,
-                                     (char *) value, rank, ser_md->name);
+                                     wrbuf_cstr(wrbuf_disp),
+                                     rank, ser_md->name);
             }
             // construct facets ... unless the client already has reported them
             if (ser_md->termlist && !client_has_facet(cl, (char *) type))
@@ -2343,23 +2468,16 @@ static int ingest_to_cluster(struct client *cl,
                     char year[64];
                     sprintf(year, "%d", rec_md->data.number.max);
 
-                    add_facet(se, (char *) type, year, term_factor);
+                    add_facet(se, (char *) type, year, term_factor, cl);
                     if (rec_md->data.number.max != rec_md->data.number.min)
                     {
                         sprintf(year, "%d", rec_md->data.number.min);
-                        add_facet(se, (char *) type, year, term_factor);
+                        add_facet(se, (char *) type, year, term_factor, cl);
                     }
                 }
                 else
-                    add_facet(se, (char *) type, (char *) value, term_factor);
+                    add_facet(se, type, wrbuf_cstr(wrbuf_disp), term_factor, cl);
             }
-
-            // cleaning up
-            if (xml_rank)
-                xmlFree(xml_rank);
-            xmlFree(type);
-            xmlFree(value);
-            type = value = 0;
         }
         else
         {
@@ -2369,11 +2487,6 @@ static int ingest_to_cluster(struct client *cl,
             se->number_of_warnings_unknown_elements++;
         }
     }
-    if (type)
-        xmlFree(type);
-    if (value)
-        xmlFree(value);
-
     nmem_destroy(ingest_nmem);
     xfree(metadata0);
     relevance_donerecord(se->relevance, cluster);
index f106c48..07972be 100644 (file)
@@ -112,7 +112,9 @@ struct session {
     int settings_modified;
     facet_limits_t facet_limits;
     int clients_starting;
+    int force_position;
     struct reclist_sortparms *sorted_results;
+    struct facet_id *facet_id_list;
 };
 
 struct statistics {
@@ -141,6 +143,8 @@ struct hitsbytarget {
     int connected;
     char *settings_xml;
     char *suggestions_xml;
+    const char *query_type;
+    const char *query_data;
 };
 
 struct hitsbytarget *get_hitsbytarget(struct session *s, int *count, NMEM nmem);
@@ -190,11 +194,15 @@ int ingest_record(struct client *cl, const char *rec, int record_no, NMEM nmem);
 int ingest_xml_record(struct client *cl, xmlDoc *xdoc,
                       int record_no, NMEM nmem, int cached_copy);
 void session_alert_watch(struct session *s, int what);
-void add_facet(struct session *s, const char *type, const char *value, int count);
+void add_facet(struct session *s, const char *type, const char *value, int count, struct client *cl);
 
 int session_check_cluster_limit(struct session *se, struct record_cluster *rec);
 
 void perform_termlist(struct http_channel *c, struct session *se, const char *name, int num, int version);
+
+const char *session_lookup_id_facet(struct session *s, struct client *cl,
+                                    const char *type, const char *term);
+
 void session_log(struct session *s, int level, const char *fmt, ...)
 #ifdef __GNUC__
     __attribute__ ((format (printf, 3, 4)))
index ae92345..1c52b30 100644 (file)
@@ -32,6 +32,7 @@ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
 #include <stdio.h>
 #include <sys/types.h>
 #include <yaz/dirent.h>
+#include <yaz/xml_get.h>
 #include <stdlib.h>
 #include <sys/stat.h>
 
@@ -176,11 +177,10 @@ int settings_read_node_x(xmlNode *n,
                                      struct setting *set))
 {
     int ret_val = 0; /* success */
-    char *namea = (char *) xmlGetProp(n, (xmlChar *) "name");
-    char *targeta = (char *) xmlGetProp(n, (xmlChar *) "target");
-    char *valuea = (char *) xmlGetProp(n, (xmlChar *) "value");
-    char *usera = (char *) xmlGetProp(n, (xmlChar *) "user");
-    char *precedencea = (char *) xmlGetProp(n, (xmlChar *) "precedence");
+    const char *namea = yaz_xml_get_prop(n, "name");
+    const char *targeta = yaz_xml_get_prop(n, "target");
+    const char *valuea = yaz_xml_get_prop(n, "value");
+    const char *precedencea = yaz_xml_get_prop(n, "precedence");
 
     for (n = n->children; n; n = n->next)
     {
@@ -190,11 +190,10 @@ int settings_read_node_x(xmlNode *n,
         {
             xmlNode *root = n->children;
             struct setting set;
-            char *name = (char *) xmlGetProp(n, (xmlChar *) "name");
-            char *target = (char *) xmlGetProp(n, (xmlChar *) "target");
-            char *value = (char *) xmlGetProp(n, (xmlChar *) "value");
-            char *user = (char *) xmlGetProp(n, (xmlChar *) "user");
-            char *precedence = (char *) xmlGetProp(n, (xmlChar *) "precedence");
+            const char *name = yaz_xml_get_prop(n, "name");
+            const char *target = yaz_xml_get_prop(n, "target");
+            const char *value = yaz_xml_get_prop(n, "value");
+            const char *precedence = yaz_xml_get_prop(n, "precedence");
             xmlChar *buf_out = 0;
 
             set.next = 0;
@@ -231,7 +230,7 @@ int settings_read_node_x(xmlNode *n,
                     xmlDocSetRootElement(doc, xmlCopyNode(root, 1));
                     xmlDocDumpMemory(doc, &buf_out, &len_out);
                     /* xmlDocDumpMemory 0-terminates */
-                    set.value = (char *) buf_out;
+                    set.value = (const char *) buf_out;
                     xmlFreeDoc(doc);
                 }
             }
@@ -248,11 +247,6 @@ int settings_read_node_x(xmlNode *n,
                 ret_val = -1;
             }
             xmlFree(buf_out);
-            xmlFree(name);
-            xmlFree(precedence);
-            xmlFree(value);
-            xmlFree(user);
-            xmlFree(target);
         }
         else
         {
@@ -261,11 +255,6 @@ int settings_read_node_x(xmlNode *n,
             ret_val = -1;
         }
     }
-    xmlFree(namea);
-    xmlFree(precedencea);
-    xmlFree(valuea);
-    xmlFree(usera);
-    xmlFree(targeta);
     return ret_val;
 }
 
index cd01937..6378a8a 100644 (file)
@@ -65,9 +65,9 @@ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
 struct setting
 {
     int precedence;
-    char *target;
-    char *name;
-    char *value;
+    const char *target;
+    const char *name;
+    const char *value;
     struct setting *next;
 };
 
index 8f06a47..79e88ee 100644 (file)
@@ -62,7 +62,8 @@ struct termlist *termlist_create(NMEM nmem)
 }
 
 void termlist_insert(struct termlist *tl, const char *display_term,
-                     const char *norm_term, int freq)
+                     const char *norm_term, const char *id, size_t id_len,
+                     int freq)
 {
     unsigned int bucket;
     struct termlist_bucket **p;
@@ -87,6 +88,7 @@ void termlist_insert(struct termlist *tl, const char *display_term,
         new->term.norm_term = nmem_strdup(tl->nmem, buf);
         new->term.display_term = *display_term ?
             nmem_strdup(tl->nmem, display_term) : new->term.norm_term;
+        new->term.id = id ? nmem_strdupn(tl->nmem, id, id_len) : 0;
         new->term.frequency = freq;
         new->next = 0;
         *p = new;
index 8502e3e..0d5310a 100644 (file)
@@ -26,6 +26,7 @@ struct termlist_score
 {
     char *norm_term;
     char *display_term;
+    char *id;
     int frequency;
 };
 
@@ -33,7 +34,8 @@ struct termlist;
 
 struct termlist *termlist_create(NMEM nmem);
 void termlist_insert(struct termlist *tl, const char *display_term,
-                     const char *norm_term, int freq);
+                     const char *norm_term,
+                     const char *id, size_t id_len, int freq);
 struct termlist_score **termlist_highscore(struct termlist *tl, int *len,
                                            NMEM nmem);
 
index 46d2c87..ae84c45 100644 (file)
@@ -3,3 +3,4 @@
 *.dif
 Makefile
 Makefile.in
+*.trs
diff --git a/test/cf.xsl b/test/cf.xsl
deleted file mode 100644 (file)
index 6cd4ec0..0000000
+++ /dev/null
@@ -1,149 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-    This stylesheet expects Connector Frameworks records
--->
-<xsl:stylesheet
-    version="1.0"
-    xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
-    xmlns:pz="http://www.indexdata.com/pazpar2/1.0"
-    xmlns:dc="http://purl.org/dc/elements/1.1/"
-    xmlns:siebel="http://loc.gov/siebel/elements/1.0/" >
-
- <xsl:output indent="yes"
-        method="xml"
-        version="1.0"
-        encoding="UTF-8"/>
-
-  <xsl:param name="medium" />
-
-  <xsl:template match="/record">
-    <pz:record>
-      <pz:metadata type="medium">
-         <xsl:value-of select="$medium" />
-      </pz:metadata>
-      <xsl:apply-templates/>
-    </pz:record>
-  </xsl:template>
-
-  <!--
-      The elements mapped in the following clauses should be kept more
-      or less in sync with those named in builder/templates/search.cft
-      in the "cf" git module.
-  -->
-
-  <xsl:template match="date">
-    <pz:metadata type="publication-date">
-      <xsl:value-of select="."/>
-    </pz:metadata>
-    <pz:metadata type="date">
-      <xsl:value-of select="."/>
-    </pz:metadata>
-  </xsl:template>
-
-  <xsl:template match="url">
-    <pz:metadata type="electronic-url">
-      <xsl:value-of select="."/>
-    </pz:metadata>
-  </xsl:template>
-
-  <xsl:template match="title">
-    <pz:metadata type="title">
-      <xsl:value-of select="."/>
-    </pz:metadata>
-    <pz:metadata type="title-complete">
-      <xsl:value-of select="." />
-    </pz:metadata>
-  </xsl:template>
-
-  <xsl:template match="author">
-    <pz:metadata type="author">
-      <xsl:value-of select="."/>
-    </pz:metadata>
-  </xsl:template>
-
-  <xsl:template match="description">
-    <pz:metadata type="description">
-      <xsl:value-of select="."/>
-    </pz:metadata>
-  </xsl:template>
-  
-  <xsl:template match="publisher">
-    <pz:metadata type="publisher">
-      <xsl:value-of select="."/>
-    </pz:metadata>
-  </xsl:template>
-
-  <xsl:template match="subject">
-    <pz:metadata type="subject">
-      <xsl:value-of select="."/>
-    </pz:metadata>
-  </xsl:template>
-
-  <xsl:template match="item">
-    <pz:metadata type="locallocation">
-      <xsl:choose>
-       <xsl:when test="string-length(location)">
-         <xsl:value-of select="location"/>
-       </xsl:when>
-       <xsl:otherwise>PAZPAR2_NULL_VALUE</xsl:otherwise>
-      </xsl:choose>
-    </pz:metadata>
-    <pz:metadata type="callnumber">
-      <xsl:choose>
-       <xsl:when test="string-length(callno)">
-         <xsl:value-of select="callno"/>
-       </xsl:when>
-       <xsl:otherwise>PAZPAR2_NULL_VALUE</xsl:otherwise>
-      </xsl:choose>
-    </pz:metadata>
-    <pz:metadata type="available">
-      <xsl:choose>
-       <xsl:when test="string-length(available)">
-         <xsl:value-of select="available"/>
-       </xsl:when>
-       <xsl:otherwise>PAZPAR2_NULL_VALUE</xsl:otherwise>
-      </xsl:choose>
-    </pz:metadata>
-    <pz:metadata type="publicnote">
-      <xsl:choose>
-       <xsl:when test="string-length(publicnote)">
-         <xsl:value-of select="publicnote"/>
-       </xsl:when>
-       <xsl:otherwise>PAZPAR2_NULL_VALUE</xsl:otherwise>
-      </xsl:choose>
-    </pz:metadata>
-  </xsl:template>
-
-  <xsl:template match="due">
-    <pz:metadata type="due">
-      <xsl:value-of select="."/>
-    </pz:metadata>
-  </xsl:template>
-
-  <xsl:template match="location">
-    <pz:metadata type="locallocation">
-      <xsl:value-of select="."/>
-    </pz:metadata>
-  </xsl:template>
-
-  <xsl:template match="callno">
-    <pz:metadata type="callnumber">
-      <xsl:value-of select="."/>
-    </pz:metadata>
-  </xsl:template>
-
-  <xsl:template match="thumburl">
-    <pz:metadata type="thumburl">
-      <xsl:value-of select="."/>
-    </pz:metadata>
-  </xsl:template>
-
-  <xsl:template match="score">
-    <pz:metadata type="score">
-      <xsl:value-of select="."/>
-    </pz:metadata>
-  </xsl:template>
-
-  <xsl:template match="text()"/>
-
-</xsl:stylesheet>
diff --git a/test/cf_mit_opencourseware_settings.xml b/test/cf_mit_opencourseware_settings.xml
deleted file mode 100644 (file)
index 88cae55..0000000
+++ /dev/null
@@ -1,19 +0,0 @@
-<settings target="connect.indexdata.com:9000/mit_opencourseware"> 
-  <set name="pz:name"           value="MIT OpenCourseWare" />
-  <set name="url"               value="connect.indexdata.com:9000/mit_opencourseware" />
-  <set name="full_text_target"  value="NO" />
-  <set name="use_url_proxy"     value="0" />
-  <set name="pz:preferred"      value="1" />
-  <set name="pz:piggyback"      value="1" />
-  <set name="pz:authentication" value="idtest/idtest36" />
-  <set name="pz:cclmap:su"      value="u=21 s=al" />
-  <set name="use_thumbnails"    value="1" />
-  <set name="pz:requestsyntax"  value="xml" />
-  <set name="pz:cclmap:issn"    value="u=8" />
-  <set name="pz:cclmap:ti"      value="u=4 s=al" />
-  <set name="pz:cclmap:au"      value="u=1003 s=al" /> 
-  <set name="pz:xslt"           value="cf.xsl" />
-  <set name="pz:cclmap:term"    value="u=1016 t=l%2Cr s=al 2=102" />
-  <set name="pz:cclmap:isbn"    value="u=7" />
-  <set name="pz:queryencoding"  value="UTF-8" />
-</settings>
\ No newline at end of file
index 7bac2b5..787d057 100644 (file)
@@ -7,4 +7,6 @@
 <records>2</records>
 <filtered>0</filtered>
 <state>Client_Idle</state>
+<query_type>pqf</query_type>
+<query_data>@and 4 computer </query_data>
 </target></bytarget>
\ No newline at end of file
index 1910a36..c2c7724 100644 (file)
@@ -7,4 +7,6 @@
 <records>2</records>
 <filtered>0</filtered>
 <state>Client_Idle</state>
+<query_type>pqf</query_type>
+<query_data>@and 6 computer </query_data>
 </target></bytarget>
\ No newline at end of file
index ffc2e84..c830701 100644 (file)
@@ -7,4 +7,6 @@
 <records>7</records>
 <filtered>0</filtered>
 <state>Client_Idle</state>
+<query_type>pqf</query_type>
+<query_data>@and 7 computer </query_data>
 </target></bytarget>
\ No newline at end of file
index 48290d2..c9b81cd 100644 (file)
@@ -7,4 +7,6 @@
 <records>0</records>
 <filtered>0</filtered>
 <state>Client_Idle</state>
+<query_type>pqf</query_type>
+<query_data>&quot;kubiak stsław&quot; </query_data>
 </target></bytarget>
\ No newline at end of file
index bd79080..25910d0 100644 (file)
@@ -7,4 +7,6 @@
 <records>1</records>
 <filtered>0</filtered>
 <state>Client_Idle</state>
+<query_type>pqf</query_type>
+<query_data>@and @attr 1=1003 @attr 6=3 @or &quot;adam, james&quot; other_author @or @attr 1=1016 greece  2015</query_data>
 </target></bytarget>
\ No newline at end of file
index bd79080..25910d0 100644 (file)
@@ -7,4 +7,6 @@
 <records>1</records>
 <filtered>0</filtered>
 <state>Client_Idle</state>
+<query_type>pqf</query_type>
+<query_data>@and @attr 1=1003 @attr 6=3 @or &quot;adam, james&quot; other_author @or @attr 1=1016 greece  2015</query_data>
 </target></bytarget>
\ No newline at end of file
index b91efcb..fc2bc62 100644 (file)
@@ -186,7 +186,7 @@ idf[1] = log(((1 + total(10))/termoccur(10));
 computer: relevance += 100000 * tf[1](1.200000) * idf[1](0.095310) (11437);
 score = relevance(11437);
  </relevance_info>
- <recid>position: z3950.indexdata.com/marc-1</recid>
+ <recid>position: z3950.indexdata.com/marc-000001</recid>
 </hit>
 <hit>
  <md-title>How to program a computer</md-title>
@@ -210,6 +210,6 @@ idf[1] = log(((1 + total(10))/termoccur(10));
 computer: relevance += 100000 * tf[1](1.200000) * idf[1](0.095310) (11437);
 score = relevance(11437);
  </relevance_info>
- <recid>position: z3950.indexdata.com/marc-2</recid>
+ <recid>position: z3950.indexdata.com/marc-000002</recid>
 </hit>
 </show>
\ No newline at end of file
index e3c1e89..1d8cc9c 100644 (file)
@@ -32,8 +32,9 @@
     </icu_chain>
 
     <icu_chain id="mychain" locale="en">
+      <transliterate>[[:WhiteSpace:][,.!;]]* } [$] > ;</transliterate>
       <display/>
-      <transform rule="[[:WhiteSpace:][:Punctuation:]] Remove"/>
+      <casemap rule="l"/>
     </icu_chain>
 
     <icu_chain id="facet-author" locale="en">
@@ -56,7 +57,7 @@
       <metadata name="subject" merge="unique" termlist="yes" rank="3"/>
       <metadata name="id"/>
       <metadata name="lccn" merge="unique"/>
-      <metadata name="description" brief="yes" merge="longest" rank="3"/>
+      <metadata name="description" brief="yes" merge="longest" rank="3" icurule="mychain"/>
       
       <metadata name="test-usersetting" brief="yes" setting="postproc"/>
       <metadata name="test" setting="parameter"/>
index df671c9..749cba4 100644 (file)
@@ -1,6 +1,6 @@
 test_limit_limitmap_service.xml http://localhost:9763/search.pz2?command=init&service=limitmap
 test_limit_limitmap_settings_1.xml http://localhost:9763/search.pz2?session=1&command=settings
-http://localhost:9763/search.pz2?session=1&command=search&query=computer
+http://localhost:9763/search.pz2?session=1&command=search&query=computer&limit=date%3D1976-1978|date%3D%22foo%23%3F
 w http://localhost:9763/search.pz2?session=1&command=show&block=1
 http://localhost:9763/search.pz2?session=1&command=bytarget
 http://localhost:9763/search.pz2?session=1&command=termlist&block=1&name=xtargets%2Cauthor%2Csubject%2Cdate
index 7aa85fa..8880233 100644 (file)
@@ -7,6 +7,8 @@
 <records>10</records>
 <filtered>0</filtered>
 <state>Client_Idle</state>
+<query_type>pqf</query_type>
+<query_data>@or @attr 1=1016 computer  2015</query_data>
 </target>
 <target><id>Target-2</id>
 <name>LOC-SOLR</name>
@@ -15,4 +17,6 @@
 <records>100</records>
 <filtered>0</filtered>
 <state>Client_Idle</state>
+<query_type>pqf</query_type>
+<query_data>@attr 4=Dal @attr 1=text computer </query_data>
 </target></bytarget>
\ No newline at end of file
index 7aa85fa..8880233 100644 (file)
@@ -7,6 +7,8 @@
 <records>10</records>
 <filtered>0</filtered>
 <state>Client_Idle</state>
+<query_type>pqf</query_type>
+<query_data>@or @attr 1=1016 computer  2015</query_data>
 </target>
 <target><id>Target-2</id>
 <name>LOC-SOLR</name>
@@ -15,4 +17,6 @@
 <records>100</records>
 <filtered>0</filtered>
 <state>Client_Idle</state>
+<query_type>pqf</query_type>
+<query_data>@attr 4=Dal @attr 1=text computer </query_data>
 </target></bytarget>
\ No newline at end of file
index 3802c69..aee0b85 100644 (file)
@@ -7,4 +7,6 @@
 <records>1</records>
 <filtered>0</filtered>
 <state>Client_Idle</state>
+<query_type>pqf</query_type>
+<query_data>@and @attr 1=1003 @attr 6=3 @or &quot;adam, james&quot; other_author @or @attr 1=1016 greece  2015</query_data>
 </target></bytarget>
\ No newline at end of file
index 3631c2d..8a59215 100644 (file)
@@ -1,15 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <termlist><activeclients>0</activeclients>
 <list name="xtargets">
-<term>
-<id>Target-1</id>
-<name>ztest-db1</name>
-<frequency>10</frequency>
-<approximation>4</approximation>
-<records>4</records>
-<filtered>6</filtered>
-<state>Client_Idle</state>
-<diagnostic>0</diagnostic>
-</term>
 </list>
 </termlist>
\ No newline at end of file
index ec128c4..0ef8f53 100644 (file)
@@ -1,50 +1,16 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <show><status>OK</status>
 <activeclients>0</activeclients>
-<merged>9</merged>
-<total>10</total>
+<merged>1</merged>
+<total>3</total>
 <start>0</start>
-<num>9</num>
-<hit>
- <md-title>How to program a computer</md-title>
- <md-author>Jack Collins</md-author>
- <location id="Target-1"
-    name="ztest-db1" checksum="1300880726">
-  <md-title>How to program a computer</md-title>
-  <md-author>Jack Collins</md-author>
-  <md-test-usersetting>XXXXXXXXXX</md-test-usersetting>
- </location>
- <location id="Target-1"
-    name="ztest-db1" checksum="2047776311">
-  <md-title>How to program a computer</md-title>
-  <md-author>Jack Collins</md-author>
-  <md-test-usersetting>XXXXXXXXXX</md-test-usersetting>
- </location>
- <count>2</count>
- <relevance>48160</relevance>
- <recid>content: title how to program a computer author jack collins</recid>
-</hit>
-<hit>
- <md-title>Computer science &amp; technology</md-title>
- <md-title-remainder>proceedings of a workshop held at the National Bureau of Standards, Gaithersburg, MD, June 3-4, 1976</md-title-remainder>
- <md-date>1977</md-date>
- <location id="Target-1"
-    name="ztest-db1" checksum="1487286940">
-  <md-title>Computer science &amp; technology</md-title>
-  <md-title-remainder>proceedings of a workshop held at the National Bureau of Standards, Gaithersburg, MD, June 3-4, 1976</md-title-remainder>
-  <md-date>1977</md-date>
-  <md-test-usersetting>XXXXXXXXXX</md-test-usersetting>
- </location>
- <count>1</count>
- <relevance>40134</relevance>
- <recid>content: title computer science technology</recid>
-</hit>
+<num>1</num>
 <hit>
  <md-title>The Computer Bible</md-title>
  <md-date>1973-1980</md-date>
  <md-description>Vols. 2, 8: Missoula, Mont. : Published by Scholars Press for Biblical Research Associates</md-description>
  <location id="Target-1"
-    name="ztest-db1" checksum="3541567481">
+    name="ztest-db1" checksum="1300880726">
   <md-title>The Computer Bible</md-title>
   <md-date>1973-1980</md-date>
   <md-description>Hebrew and Greek; introductions in English</md-description>
   <md-test-usersetting>XXXXXXXXXX</md-test-usersetting>
  </location>
  <count>1</count>
- <relevance>40134</relevance>
+ <relevance>138629</relevance>
  <recid>content: title the computer bible</recid>
 </hit>
-<hit>
- <md-title>A plan for community college computer development</md-title>
- <md-date>1971</md-date>
- <md-description>Cover title</md-description>
- <location id="Target-1"
-    name="ztest-db1" checksum="3727973695">
-  <md-title>A plan for community college computer development</md-title>
-  <md-date>1971</md-date>
-  <md-description>Cover title</md-description>
-  <md-test-usersetting>XXXXXXXXXX</md-test-usersetting>
- </location>
- <count>1</count>
- <relevance>17200</relevance>
- <recid>content: title a plan for community college computer development</recid>
-</hit>
-<hit>
- <md-title>Washington metropolitan area rail computer feasibility study;</md-title>
- <md-title-remainder>final report</md-title-remainder>
- <md-date>1971</md-date>
- <md-author>Englund, Carl R</md-author>
- <md-description>&quot;Contract DOT-UT-10003.&quot;</md-description>
- <location id="Target-1"
-    name="ztest-db1" checksum="2981078110">
-  <md-title>Washington metropolitan area rail computer feasibility study;</md-title>
-  <md-title-remainder>final report</md-title-remainder>
-  <md-date>1971</md-date>
-  <md-author>Englund, Carl R</md-author>
-  <md-description>&quot;Contract DOT-UT-10003.&quot;</md-description>
-  <md-test-usersetting>XXXXXXXXXX</md-test-usersetting>
- </location>
- <count>1</count>
- <relevance>17200</relevance>
- <recid>content: title washington metropolitan area rail computer feasibility study author englund carl r</recid>
-</hit>
-<hit>
- <md-title>The Puget Sound Region</md-title>
- <md-title-remainder>a portfolio of thematic computer maps</md-title-remainder>
- <md-date>1974</md-date>
- <md-author>Mairs, John W</md-author>
- <md-description>Scale of maps ca. 1:1,000,000</md-description>
- <location id="Target-1"
-    name="ztest-db1" checksum="4288463066">
-  <md-title>The Puget Sound Region</md-title>
-  <md-title-remainder>a portfolio of thematic computer maps</md-title-remainder>
-  <md-date>1974</md-date>
-  <md-author>Mairs, John W</md-author>
-  <md-description>Scale of maps ca. 1:1,000,000</md-description>
-  <md-test-usersetting>XXXXXXXXXX</md-test-usersetting>
- </location>
- <count>1</count>
- <relevance>16722</relevance>
- <recid>content: title the puget sound region author mairs john w</recid>
-</hit>
-<hit>
- <md-title>Computer processing of dynamic images from an Anger scintillation camera</md-title>
- <md-title-remainder>the proceedings of a workshop</md-title-remainder>
- <md-date>1974</md-date>
- <location id="Target-1"
-    name="ztest-db1" checksum="2794671896">
-  <md-title>Computer processing of dynamic images from an Anger scintillation camera</md-title>
-  <md-title-remainder>the proceedings of a workshop</md-title-remainder>
-  <md-date>1974</md-date>
-  <md-test-usersetting>XXXXXXXXXX</md-test-usersetting>
- </location>
- <count>1</count>
- <relevance>12040</relevance>
- <recid>content: title computer processing of dynamic images from an anger scintillation camera</recid>
-</hit>
-<hit>
- <md-title>The use of passwords for controlled access to computer resources</md-title>
- <md-date>1977</md-date>
- <md-author>Wood, Helen M</md-author>
- <location id="Target-1"
-    name="ztest-db1" checksum="2234182525">
-  <md-title>The use of passwords for controlled access to computer resources</md-title>
-  <md-date>1977</md-date>
-  <md-author>Wood, Helen M</md-author>
-  <md-test-usersetting>XXXXXXXXXX</md-test-usersetting>
- </location>
- <count>1</count>
- <relevance>12040</relevance>
- <recid>content: title the use of passwords for controlled access to computer resources author wood helen m</recid>
-</hit>
-<hit>
- <md-title>Reconstruction tomography in diagnostic radiology and nuclear medicine</md-title>
- <md-title-remainder>proceedings of the workshop</md-title-remainder>
- <md-date>1977</md-date>
- <location id="Target-1"
-    name="ztest-db1" checksum="740391355">
-  <md-title>Reconstruction tomography in diagnostic radiology and nuclear medicine</md-title>
-  <md-title-remainder>proceedings of the workshop</md-title-remainder>
-  <md-date>1977</md-date>
-  <md-test-usersetting>XXXXXXXXXX</md-test-usersetting>
- </location>
- <count>1</count>
- <relevance>0</relevance>
- <recid>content: title reconstruction tomography in diagnostic radiology and nuclear medicine</recid>
-</hit>
 </show>
\ No newline at end of file
index 3631c2d..8a59215 100644 (file)
@@ -1,15 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <termlist><activeclients>0</activeclients>
 <list name="xtargets">
-<term>
-<id>Target-1</id>
-<name>ztest-db1</name>
-<frequency>10</frequency>
-<approximation>4</approximation>
-<records>4</records>
-<filtered>6</filtered>
-<state>Client_Idle</state>
-<diagnostic>0</diagnostic>
-</term>
 </list>
 </termlist>
\ No newline at end of file
index d23fbc8..5e7f447 100644 (file)
@@ -2,9 +2,11 @@
 <bytarget><status>OK</status>
 <target><id>Target-1</id>
 <name>ztest-db1</name>
-<hits>10</hits>
+<hits>3</hits>
 <diagnostic>0</diagnostic>
-<records>10</records>
-<filtered>0</filtered>
+<records>1</records>
+<filtered>2</filtered>
 <state>Client_Idle</state>
+<query_type>pqf</query_type>
+<query_data>@and @or @and @attr 2=4 @attr 1=30 1976 @attr 2=2 @attr 1=30 1978 @attr 2=3 @attr 1=30 &quot;date=\&quot;foo#?&quot; @or @attr 1=1016 computer  2015</query_data>
 </target></bytarget>
\ No newline at end of file
index f05429f..282e626 100644 (file)
@@ -4,36 +4,17 @@
 <term>
 <id>Target-1</id>
 <name>ztest-db1</name>
-<frequency>10</frequency>
+<frequency>3</frequency>
 <state>Client_Idle</state>
 <diagnostic>0</diagnostic>
 </term>
 </list>
-<list name="author">
-<term><name>Jack Collins</name><frequency>2</frequency></term>
-<term><name>Englund, Carl R</name><frequency>1</frequency></term>
-<term><name>Mairs, John W</name><frequency>1</frequency></term>
-<term><name>Wood, Helen M</name><frequency>1</frequency></term>
-</list>
+<list name="author"/>
 <list name="subject">
 <term><name>Bible</name><frequency>1</frequency></term>
 <term><name>Bible. O.T</name><frequency>1</frequency></term>
-<term><name>Cartography</name><frequency>1</frequency></term>
-<term><name>Community colleges</name><frequency>1</frequency></term>
-<term><name>Computers</name><frequency>1</frequency></term>
-<term><name>Imaging systems in medicine</name><frequency>1</frequency></term>
-<term><name>Optical pattern recognition</name><frequency>1</frequency></term>
-<term><name>Puget Sound region (Wash.)</name><frequency>1</frequency></term>
-<term><name>Radioisotope scanning</name><frequency>1</frequency></term>
-<term><name>Railroads</name><frequency>1</frequency></term>
-<term><name>Scintillation cameras</name><frequency>1</frequency></term>
-<term><name>Tomography</name><frequency>1</frequency></term>
-<term><name>Universities and colleges</name><frequency>1</frequency></term>
 </list>
 <list name="date">
-<term><name>1977</name><frequency>3</frequency></term>
-<term><name>1971</name><frequency>2</frequency></term>
-<term><name>1974</name><frequency>2</frequency></term>
 <term><name>1973</name><frequency>1</frequency></term>
 <term><name>1980</name><frequency>1</frequency></term>
 </list>
index deaa865..3baa468 100644 (file)
@@ -15,6 +15,9 @@
   <set name="pz:cclmap:date_exact" value="u=30 6=3 r=r"/>
   <set name="pz:cclmap:au" value="u=1003"/>
 
+
+  <set name="pz:limitmap:date"   value="ccl:date" />
+
   <!-- Retrieval settings -->
 
   <set name="pz:requestsyntax" value="marc21"/>
index 1eb610b..3bfd24e 100644 (file)
@@ -23,7 +23,7 @@
   <set name="pz:cclmap:author_phrase" value="1=author_exact 6=3"/>
   <set name="pz:cclmap:term"  value="1=text s=Dal" />
   <set name="pz:cclmap:isbn"  value="1=isbn" />
-  <set name="pz:cclmap:date_exact"  value="1=date_exact r=r" />
+  <set name="pz:cclmap:date_exact"  value="1=date_exact r=o" />
   <set name="pz:xslt"  value="solr-pz2.xsl" />
   <set name="pz:queryencoding"  value="UTF-8" />
 
index dd27d89..fc4f28b 100644 (file)
@@ -2,4 +2,5 @@
   <set name="pz:limitmap:author"  value="rpn:@attr 1=1003 @attr 6=3" />
   <set name="pz:limitmap:subject" value="rpn:@attr 1=21 @attr 6=3" />
   <set name="pz:limitmap:Mysubject" value="local:*" />
+  <set name="pz:limitmap:date"   value="ccl:local" />
 </settings>
index f5a8e90..23bf77b 100644 (file)
@@ -7,4 +7,6 @@
 <records>10</records>
 <filtered>0</filtered>
 <state>Client_Idle</state>
+<query_type>pqf</query_type>
+<query_data>@or @attr 1=1016 computer  2015</query_data>
 </target></bytarget>
\ No newline at end of file
diff --git a/test/test_preferred.res b/test/test_preferred.res
deleted file mode 100644 (file)
index 586b12e..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-connect.indexdata.com:9000/mit_opencourseware has preferred status: 1
-connect.indexdata.com:9000/mit_opencourseware has preferred status: 1
-connect.indexdata.com:9000/mit_opencourseware has preferred status: 1
diff --git a/test/test_preferred.sh b/test/test_preferred.sh
deleted file mode 100755 (executable)
index 493cdc3..0000000
+++ /dev/null
@@ -1,32 +0,0 @@
-#!/bin/sh
-
-TEST=`basename $0 .sh`
-# srcdir might be set by make
-srcdir=${srcdir:-"."}
-
-#TODO set up solr target. For now use donut
-
-${srcdir}/run_pazpar2.sh $TEST
-E=$?
-
-grep "has preferred" ${TEST}pazpar2.log | cut -f 4- -d ' ' > test_preferred.log
-
-if [ -f test_preferred.res ] ; then
-    diff test_preferred.res test_preferred.log > test_preferred.dif
-    E2=$?
-    if [ $E2 -ne 0 ] ; then
-       echo "has preferred test failed!"
-       E=$E2
-    fi
-else
-    echo "Making test_preferred.res for first time."
-    mv test_preferred.log test_preferred.res
-fi
-
-exit $E
-
-# Local Variables:
-# mode:shell-script
-# sh-indentation: 2
-# sh-basic-offset: 4
-# End:
diff --git a/test/test_preferred_1.res b/test/test_preferred_1.res
deleted file mode 100644 (file)
index c09ee34..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<init><status>OK</status><session>1</session><protocol>1</protocol><keepAlive>50000</keepAlive>
-</init>
\ No newline at end of file
diff --git a/test/test_preferred_10.res b/test/test_preferred_10.res
deleted file mode 100644 (file)
index 34d141b..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<bytarget><status>OK</status>
-<target><id>connect.indexdata.com:9000/mit_opencourseware</id>
-<name>MIT OpenCourseWare</name>
-<hits>0</hits>
-<diagnostic>114</diagnostic>
-<addinfo>(backend=localhost:9003)</addinfo>
-<records>0</records>
-<state>Client_Error</state>
-</target>
-<target><id>ocs-loc.indexdata.com/solr/select</id>
-<name>LOC (SOLR)</name>
-<hits>0</hits>
-<diagnostic>503</diagnostic>
-<addinfo></addinfo>
-<records>0</records>
-<state>Client_Error</state>
-</target></bytarget>
\ No newline at end of file
diff --git a/test/test_preferred_11.res b/test/test_preferred_11.res
deleted file mode 100644 (file)
index cda4aea..0000000
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<termlist><activeclients>0</activeclients>
-<list name="xtargets">
-</list>
-<list name="author"/>
-<list name="subject"/>
-<list name="date"/>
-</termlist>
\ No newline at end of file
diff --git a/test/test_preferred_12.res b/test/test_preferred_12.res
deleted file mode 100644 (file)
index 42534e3..0000000
+++ /dev/null
@@ -1,2 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<settings><status>OK</status></settings>
\ No newline at end of file
diff --git a/test/test_preferred_13.res b/test/test_preferred_13.res
deleted file mode 100644 (file)
index ab63fe6..0000000
+++ /dev/null
@@ -1,2 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<search><status>OK</status></search>
\ No newline at end of file
diff --git a/test/test_preferred_14.res b/test/test_preferred_14.res
deleted file mode 100644 (file)
index 5a1147b..0000000
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<show><status>OK</status>
-<activeclients>0</activeclients>
-<merged>0</merged>
-<total>0</total>
-<start>0</start>
-<num>0</num>
-</show>
\ No newline at end of file
diff --git a/test/test_preferred_15.res b/test/test_preferred_15.res
deleted file mode 100644 (file)
index 4c1b1f8..0000000
+++ /dev/null
@@ -1,26 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<bytarget><status>OK</status>
-<target><id>connect.indexdata.com:9000/mit_opencourseware</id>
-<name>MIT OpenCourseWare</name>
-<hits>0</hits>
-<diagnostic>114</diagnostic>
-<addinfo>(backend=localhost:9003)</addinfo>
-<records>0</records>
-<state>Client_Error</state>
-</target>
-<target><id>ocs-loc.indexdata.com/solr/select</id>
-<name>LOC (SOLR)</name>
-<hits>0</hits>
-<diagnostic>503</diagnostic>
-<addinfo></addinfo>
-<records>0</records>
-<state>Client_Error</state>
-</target>
-<target><id>ocs-oaister.indexdata.com/solr</id>
-<name>Oaister (SOLR)</name>
-<hits>0</hits>
-<diagnostic>503</diagnostic>
-<addinfo></addinfo>
-<records>0</records>
-<state>Client_Error</state>
-</target></bytarget>
\ No newline at end of file
diff --git a/test/test_preferred_16.res b/test/test_preferred_16.res
deleted file mode 100644 (file)
index cda4aea..0000000
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<termlist><activeclients>0</activeclients>
-<list name="xtargets">
-</list>
-<list name="author"/>
-<list name="subject"/>
-<list name="date"/>
-</termlist>
\ No newline at end of file
diff --git a/test/test_preferred_2.res b/test/test_preferred_2.res
deleted file mode 100644 (file)
index 42534e3..0000000
+++ /dev/null
@@ -1,2 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<settings><status>OK</status></settings>
\ No newline at end of file
diff --git a/test/test_preferred_3.res b/test/test_preferred_3.res
deleted file mode 100644 (file)
index ab63fe6..0000000
+++ /dev/null
@@ -1,2 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<search><status>OK</status></search>
\ No newline at end of file
diff --git a/test/test_preferred_4.res b/test/test_preferred_4.res
deleted file mode 100644 (file)
index 5a1147b..0000000
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<show><status>OK</status>
-<activeclients>0</activeclients>
-<merged>0</merged>
-<total>0</total>
-<start>0</start>
-<num>0</num>
-</show>
\ No newline at end of file
diff --git a/test/test_preferred_5.res b/test/test_preferred_5.res
deleted file mode 100644 (file)
index 44afb3f..0000000
+++ /dev/null
@@ -1,10 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<bytarget><status>OK</status>
-<target><id>connect.indexdata.com:9000/mit_opencourseware</id>
-<name>MIT OpenCourseWare</name>
-<hits>0</hits>
-<diagnostic>114</diagnostic>
-<addinfo>(backend=localhost:9003)</addinfo>
-<records>0</records>
-<state>Client_Error</state>
-</target></bytarget>
\ No newline at end of file
diff --git a/test/test_preferred_6.res b/test/test_preferred_6.res
deleted file mode 100644 (file)
index cda4aea..0000000
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<termlist><activeclients>0</activeclients>
-<list name="xtargets">
-</list>
-<list name="author"/>
-<list name="subject"/>
-<list name="date"/>
-</termlist>
\ No newline at end of file
diff --git a/test/test_preferred_7.res b/test/test_preferred_7.res
deleted file mode 100644 (file)
index 42534e3..0000000
+++ /dev/null
@@ -1,2 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<settings><status>OK</status></settings>
\ No newline at end of file
diff --git a/test/test_preferred_8.res b/test/test_preferred_8.res
deleted file mode 100644 (file)
index ab63fe6..0000000
+++ /dev/null
@@ -1,2 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<search><status>OK</status></search>
\ No newline at end of file
diff --git a/test/test_preferred_9.res b/test/test_preferred_9.res
deleted file mode 100644 (file)
index 5a1147b..0000000
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<show><status>OK</status>
-<activeclients>0</activeclients>
-<merged>0</merged>
-<total>0</total>
-<start>0</start>
-<num>0</num>
-</show>
\ No newline at end of file
index cf7fcd5..e9bdd89 100644 (file)
@@ -17,4 +17,6 @@
 <set name="pz:name" value="Target name"/>
 <set name="category" value="1"/>
 </settings>
+<query_type>pqf</query_type>
+<query_data>@attr 1=host_wildcard water </query_data>
 </target></bytarget>
\ No newline at end of file
index 63a213d..b4b60b6 100644 (file)
@@ -13,4 +13,6 @@
 <set name="pz:id" value="z3950.indexdata.com/marc"/>
 <set name="pz:name" value="1"/>
 </settings>
+<query_type>pqf</query_type>
+<query_data>@attr 1=1016 water </query_data>
 </target></bytarget>
\ No newline at end of file
index 264cdc0..17aec2f 100644 (file)
@@ -36,3 +36,5 @@ http://localhost:9763/search.pz2?session=1&command=search&query=au%3D%3F&sort=au
 http://localhost:9763/search.pz2?session=1&command=show&block=1&sort=author:1
 http://localhost:9763/search.pz2?session=1&command=search&query=au%3D%3F&sort=author:0
 http://localhost:9763/search.pz2?session=1&command=show&block=1&sort=author:0
+http://localhost:9763/search.pz2?session=1&command=search&query=au%3D%3F&sort=author:0
+http://localhost:9763/search.pz2?session=1&command=show&block=1
index 313fc4a..ebd361c 100644 (file)
@@ -7,4 +7,6 @@
 <records>100</records>
 <filtered>0</filtered>
 <state>Client_Idle</state>
+<query_type>pqf</query_type>
+<query_data>@attr 4=Dal @attr 1=text water </query_data>
 </target></bytarget>
\ No newline at end of file
index a47a5d4..888cad9 100644 (file)
@@ -7,4 +7,6 @@
 <records>200</records>
 <filtered>0</filtered>
 <state>Client_Idle</state>
+<query_type>pqf</query_type>
+<query_data>@attr 4=Dal @attr 1=text water </query_data>
 </target></bytarget>
\ No newline at end of file
index 313fc4a..ebd361c 100644 (file)
@@ -7,4 +7,6 @@
 <records>100</records>
 <filtered>0</filtered>
 <state>Client_Idle</state>
+<query_type>pqf</query_type>
+<query_data>@attr 4=Dal @attr 1=text water </query_data>
 </target></bytarget>
\ No newline at end of file
index a9ff9c9..307bf17 100644 (file)
@@ -6,6 +6,90 @@
 <start>0</start>
 <num>20</num>
 <hit>
+ <md-title>Forensic declamations, for the use of schools and colleges;</md-title>
+ <md-date>1901</md-date>
+ <md-author>Espenshade, Abraham Howry</md-author>
+ <md-medium>book</md-medium>
+ <location id="LOC Solr Test"
+    name="LOC Solr Test" checksum="1554355631">
+  <md-title>Forensic declamations, for the use of schools and colleges;</md-title>
+  <md-date>1901</md-date>
+  <md-author>Espenshade, Abraham Howry</md-author>
+  <md-medium>book</md-medium>
+ </location>
+ <count>1</count>
+ <recid>content: title forensic declamations for the use of schools and colleges author espenshade abraham howry medium book</recid>
+</hit>
+<hit>
+ <md-title>Modern Birmingham and its institutions</md-title>
+ <md-title-remainder>a chronicle of local events, from 1841 to 1871</md-title-remainder>
+ <md-date>1873-1877</md-date>
+ <md-author>Langford, John Alfred</md-author>
+ <md-medium>book</md-medium>
+ <location id="LOC Solr Test"
+    name="LOC Solr Test" checksum="3168968100">
+  <md-title>Modern Birmingham and its institutions</md-title>
+  <md-title-remainder>a chronicle of local events, from 1841 to 1871</md-title-remainder>
+  <md-date>1873-1877</md-date>
+  <md-author>Langford, John Alfred</md-author>
+  <md-medium>book</md-medium>
+ </location>
+ <count>1</count>
+ <recid>content: title modern birmingham and its institutions author langford john alfred medium book</recid>
+</hit>
+<hit>
+ <md-title>Geography of New Zealand for senior pupils in the public schools</md-title>
+ <md-title-remainder>scholarship candidates, and pupil teachers</md-title-remainder>
+ <md-date>1903</md-date>
+ <md-author>Macdonald, J. R</md-author>
+ <md-medium>book</md-medium>
+ <location id="LOC Solr Test"
+    name="LOC Solr Test" checksum="488613273">
+  <md-title>Geography of New Zealand for senior pupils in the public schools</md-title>
+  <md-title-remainder>scholarship candidates, and pupil teachers</md-title-remainder>
+  <md-date>1903</md-date>
+  <md-author>Macdonald, J. R</md-author>
+  <md-medium>book</md-medium>
+ </location>
+ <count>1</count>
+ <recid>content: title geography of new zealand for senior pupils in the public schools author macdonald j r medium book</recid>
+</hit>
+<hit>
+ <md-title>The Master&apos;s touch</md-title>
+ <md-date>1907</md-date>
+ <md-author>Stewart, Wentworth Fall</md-author>
+ <md-medium>book</md-medium>
+ <location id="LOC Solr Test"
+    name="LOC Solr Test" checksum="2103225742">
+  <md-title>The Master&apos;s touch</md-title>
+  <md-date>1907</md-date>
+  <md-author>Stewart, Wentworth Fall</md-author>
+  <md-medium>book</md-medium>
+ </location>
+ <count>1</count>
+ <recid>content: title the master s touch author stewart wentworth fall medium book</recid>
+</hit>
+<hit>
+ <md-title>Novum Belgium</md-title>
+ <md-title-remainder>description de / Nieuw Netherland / et / Notice sur René Goupil</md-title-remainder>
+ <md-date>1862</md-date>
+ <md-author>Jogues, Isaac</md-author>
+ <md-description>The Novum Belgium is dated at end  of Des 3 Rivieres en la Nouvelle France, 3 augusti, 1646; the Notice sur rené Goupil was probably prepared the same year</md-description>
+ <md-medium>book</md-medium>
+ <location id="LOC Solr Test"
+    name="LOC Solr Test" checksum="3717838211">
+  <md-title>Novum Belgium</md-title>
+  <md-title-remainder>description de / Nieuw Netherland / et / Notice sur René Goupil</md-title-remainder>
+  <md-date>1862</md-date>
+  <md-author>Jogues, Isaac</md-author>
+  <md-description>&quot;Tiré à 100 exemplaires.&quot; This copy is not numbered</md-description>
+  <md-description>The Novum Belgium is dated at end  of Des 3 Rivieres en la Nouvelle France, 3 augusti, 1646; the Notice sur rené Goupil was probably prepared the same year</md-description>
+  <md-medium>book</md-medium>
+ </location>
+ <count>1</count>
+ <recid>content: title novum belgium author jogues isaac medium book</recid>
+</hit>
+<hit>
  <md-title>De successione ab intestato</md-title>
  <md-date>1470-1970</md-date>
  <md-author>Cino</md-author>
  <count>1</count>
  <recid>content: title a glimpse of hayti and her negro chief medium book</recid>
 </hit>
-<hit>
- <md-title>The history of the ancient Scots</md-title>
- <md-title-remainder>In three parts: I. Their origin and history, to the beginning of the ninth century. II. From the beginning of the ninth century to the end of the thirteenth. III. The Hebrides under the government of Norway.--Somerled.--Chiefs descended from Somerled</md-title-remainder>
- <md-date>1858</md-date>
- <md-author>MacCallum, Duncan</md-author>
- <md-medium>book</md-medium>
- <location id="LOC Solr Test"
-    name="LOC Solr Test" checksum="3781833939">
-  <md-title>The history of the ancient Scots</md-title>
-  <md-title-remainder>In three parts: I. Their origin and history, to the beginning of the ninth century. II. From the beginning of the ninth century to the end of the thirteenth. III. The Hebrides under the government of Norway.--Somerled.--Chiefs descended from Somerled</md-title-remainder>
-  <md-date>1858</md-date>
-  <md-author>MacCallum, Duncan</md-author>
-  <md-medium>book</md-medium>
- </location>
- <count>1</count>
- <recid>content: title the history of the ancient scots author maccallum duncan medium book</recid>
-</hit>
-<hit>
- <md-title>Novum Belgium</md-title>
- <md-title-remainder>description de / Nieuw Netherland / et / Notice sur René Goupil</md-title-remainder>
- <md-date>1862</md-date>
- <md-author>Jogues, Isaac</md-author>
- <md-description>The Novum Belgium is dated at end  of Des 3 Rivieres en la Nouvelle France, 3 augusti, 1646; the Notice sur rené Goupil was probably prepared the same year</md-description>
- <md-medium>book</md-medium>
- <location id="LOC Solr Test"
-    name="LOC Solr Test" checksum="3717838211">
-  <md-title>Novum Belgium</md-title>
-  <md-title-remainder>description de / Nieuw Netherland / et / Notice sur René Goupil</md-title-remainder>
-  <md-date>1862</md-date>
-  <md-author>Jogues, Isaac</md-author>
-  <md-description>&quot;Tiré à 100 exemplaires.&quot; This copy is not numbered</md-description>
-  <md-description>The Novum Belgium is dated at end  of Des 3 Rivieres en la Nouvelle France, 3 augusti, 1646; the Notice sur rené Goupil was probably prepared the same year</md-description>
-  <md-medium>book</md-medium>
- </location>
- <count>1</count>
- <recid>content: title novum belgium author jogues isaac medium book</recid>
-</hit>
-<hit>
- <md-title>Lake George and Lake Champlain</md-title>
- <md-title-remainder>from their first discovery to 1759</md-title-remainder>
- <md-date>1869</md-date>
- <md-author>Butler, B. C</md-author>
- <md-description>Pages 64-240 deal with events in this region in the French and Indian war</md-description>
- <md-medium>book</md-medium>
- <location id="LOC Solr Test"
-    name="LOC Solr Test" checksum="1101479112">
-  <md-title>Lake George and Lake Champlain</md-title>
-  <md-title-remainder>from their first discovery to 1759</md-title-remainder>
-  <md-date>1869</md-date>
-  <md-author>Butler, B. C</md-author>
-  <md-description>Pages 64-240 deal with events in this region in the French and Indian war</md-description>
-  <md-medium>book</md-medium>
- </location>
- <count>1</count>
- <recid>content: title lake george and lake champlain author butler b c medium book</recid>
-</hit>
-<hit>
- <md-title>Genealogy of the Dutton family of Pennsylvania, preceded by a history of the family in England from the time of William the Conqueror to the year 1669: with an appendix containing a short account of the Duttons of Conn</md-title>
- <md-date>1871</md-date>
- <md-author>Cope, Gilbert</md-author>
- <md-medium>book</md-medium>
- <location id="LOC Solr Test"
-    name="LOC Solr Test" checksum="2716091581">
-  <md-title>Genealogy of the Dutton family of Pennsylvania, preceded by a history of the family in England from the time of William the Conqueror to the year 1669: with an appendix containing a short account of the Duttons of Conn</md-title>
-  <md-date>1871</md-date>
-  <md-author>Cope, Gilbert</md-author>
-  <md-medium>book</md-medium>
- </location>
- <count>1</count>
- <recid>content: title genealogy of the dutton family of pennsylvania preceded by a history of the family in england from the time of william the conqueror to the year with an appendix containing a short account of the duttons of conn author cope gilbert medium book</recid>
-</hit>
-<hit>
- <md-title>The land of the Veda</md-title>
- <md-title-remainder>being personal reminiscences of India; its people, castes, thugs, and fakirs ; its religions, mythology, principal monuments, palaces, and mausoleums: together with the incidents of the great Sepoy rebellion, and its results to Christianity and civilization ; also, statistical tables of Christian missions, and a glossary of Indian terms used in this work and in missionary correspondence</md-title-remainder>
- <md-date>1872</md-date>
- <md-author>Butler, William</md-author>
- <md-medium>book</md-medium>
- <location id="LOC Solr Test"
-    name="LOC Solr Test" checksum="35736754">
-  <md-title>The land of the Veda</md-title>
-  <md-title-remainder>being personal reminiscences of India; its people, castes, thugs, and fakirs ; its religions, mythology, principal monuments, palaces, and mausoleums: together with the incidents of the great Sepoy rebellion, and its results to Christianity and civilization ; also, statistical tables of Christian missions, and a glossary of Indian terms used in this work and in missionary correspondence</md-title-remainder>
-  <md-date>1872</md-date>
-  <md-author>Butler, William</md-author>
-  <md-medium>book</md-medium>
- </location>
- <count>1</count>
- <recid>content: title the land of the veda author butler william medium book</recid>
-</hit>
 </show>
\ No newline at end of file
index 808187e..d2b03d4 100644 (file)
@@ -6,21 +6,24 @@
 <start>0</start>
 <num>20</num>
 <hit>
- <md-title>Liechtensteinische Betriebszählung 1995</md-title>
- <md-title-remainder>Industrie, Gewerbe, Dienstleistungen</md-title-remainder>
- <md-date>1999</md-date>
- <md-description>&quot;Nr. 312&quot;--Spine</md-description>
+ <md-title>Leaves of grass</md-title>
+ <md-date>1860</md-date>
+ <md-author>Whitman, Walt</md-author>
+ <md-description>Myerson describes 2 authorized printings, with 3 states of frontispiece and 5 states of binding. For unauthorized printings, cf. LC record 45-46794</md-description>
  <md-medium>book</md-medium>
  <location id="LOC Solr Test"
-    name="LOC Solr Test" checksum="99732482">
-  <md-title>Liechtensteinische Betriebszählung 1995</md-title>
-  <md-title-remainder>Industrie, Gewerbe, Dienstleistungen</md-title-remainder>
-  <md-date>1999</md-date>
-  <md-description>&quot;Nr. 312&quot;--Spine</md-description>
+    name="LOC Solr Test" checksum="1554355631">
+  <md-title>Leaves of grass</md-title>
+  <md-date>1860</md-date>
+  <md-author>Whitman, Walt</md-author>
+  <md-description>Author&apos;s name, Walt Whitman, appears in copyright statement on t.p. verso</md-description>
+  <md-description>Third edition</md-description>
+  <md-description>Myerson describes 2 authorized printings, with 3 states of frontispiece and 5 states of binding. For unauthorized printings, cf. LC record 45-46794</md-description>
+  <md-description>LC has rebound copy, with frontispiece in Myerson 1st state.DLC</md-description>
   <md-medium>book</md-medium>
  </location>
  <count>1</count>
- <recid>content: title liechtensteinische betriebsza hlung medium book</recid>
+ <recid>content: title leaves of grass author whitman walt medium book</recid>
 </hit>
 <hit>
  <md-title>New power</md-title>
  <recid>content: title new power author lowther christine medium book</recid>
 </hit>
 <hit>
- <md-title>Tres cartas de Serguei Esenin</md-title>
- <md-date>1995</md-date>
- <md-author>Esenin, Sergeĭ Aleksandrovich</md-author>
- <md-description>Three epistolary poems published in the form of letters folded in an envelope. Text is mimeographed on brown paper with mounted dates, initials, signatures, and decorations. Each letter tied with green yarn. Colophon, including reproduction of a Chagall window design, mimeographed on green paper (12 x 21 cm.) and inserted in envelope</md-description>
+ <md-title>Casus decretorum Bartholomei Brixiensis</md-title>
+ <md-date>1489</md-date>
+ <md-author>Bartolomeo</md-author>
+ <md-description>LC copy has 2 capitals supplied in red and silver (a2);  coat-of-arms in colors painted on verso of final blank. Half-bound in wooden boards with blind-stamped pigskin, and with 2 clasps.DLC</md-description>
  <md-medium>book</md-medium>
  <location id="LOC Solr Test"
-    name="LOC Solr Test" checksum="2135223606">
-  <md-title>Tres cartas de Serguei Esenin</md-title>
-  <md-date>1995</md-date>
-  <md-author>Esenin, Sergeĭ Aleksandrovich</md-author>
-  <md-description>Three epistolary poems published in the form of letters folded in an envelope. Text is mimeographed on brown paper with mounted dates, initials, signatures, and decorations. Each letter tied with green yarn. Colophon, including reproduction of a Chagall window design, mimeographed on green paper (12 x 21 cm.) and inserted in envelope</md-description>
-  <md-description>Part of a collection of handmade chapbooks, most with cords for hanging (literatura de cordel), published by Ediciones Vigía under the auspices of the Cuban Ministry of Culture</md-description>
-  <md-description>&quot;Esta edición ... consta de doscientos ejemplares numerados, iluminados a mano&quot;--Colophon</md-description>
-  <md-description>LC copy unnumbered.DLC</md-description>
+    name="LOC Solr Test" checksum="488613273">
+  <md-title>Casus decretorum Bartholomei Brixiensis</md-title>
+  <md-date>1489</md-date>
+  <md-author>Bartolomeo</md-author>
+  <md-description>A modification of Benencasa&apos;s Casus. Cf. S. Kuttner. Repertorium der Kanonistik, I, 1937, p. 229-230; 455</md-description>
+  <md-description>Imprint from colophon</md-description>
+  <md-description>Printer&apos;s device at colophon</md-description>
+  <md-description>Colophon: Casus Decreti Bartholomei Brixien[sis] in vrbe Basilien[si] per Nicolaum Kesler ciuem eiusdem studiosissime impressi finiunt feliciter</md-description>
+  <md-description>Signatures: a⁸ b-z⁸/⁶ [et]⁸ [con]⁶ t[ra]⁶ [rum]⁸</md-description>
+  <md-description>BM 15th cent. omits the t[ra] gathering and indicates the corresponding number of leaves (182); the gathering is present in GW and in LC copy</md-description>
+  <md-description>Capital spaces, some with guide letters</md-description>
+  <md-description>LC copy has 2 capitals supplied in red and silver (a2);  coat-of-arms in colors painted on verso of final blank. Half-bound in wooden boards with blind-stamped pigskin, and with 2 clasps.DLC</md-description>
   <md-medium>book</md-medium>
  </location>
  <count>1</count>
- <recid>content: title tres cartas de serguei esenin author esenin sergei aleksandrovich medium book</recid>
+ <recid>content: title casus decretorum bartholomei brixiensis author bartolomeo medium book</recid>
 </hit>
 <hit>
- <md-title>The Chamorro language of Guam;</md-title>
- <md-title-remainder>a grammar of the idiom spoken by the inhabitants of the Marianne, or Ladrones, Islands</md-title-remainder>
- <md-date>1909</md-date>
- <md-author>Safford, William Edwin</md-author>
- <md-description>&quot;Reprinted from the American Anthropologist, 1903-1905.&quot;</md-description>
+ <md-title>Hymnes chantés dans la séance de la Convention nationale du 23 thermidor, jour anniversaire du 10 août</md-title>
+ <md-date>1795</md-date>
+ <md-description>Le chant républicain du 10 août / par Le Brun ; musique de Chérubini -- Hymne a la liberté / par Th. Desorgues ; musique de Langlé -- L&apos;hymne du 10 août / par M. Chénier ; musique de Catel -- Hymne a la liberté : chant de triomphe / par Baour Lormian ; musique de Rigel père</md-description>
  <md-medium>book</md-medium>
  <location id="LOC Solr Test"
-    name="LOC Solr Test" checksum="1714344951">
-  <md-title>The Chamorro language of Guam;</md-title>
-  <md-title-remainder>a grammar of the idiom spoken by the inhabitants of the Marianne, or Ladrones, Islands</md-title-remainder>
-  <md-date>1909</md-date>
-  <md-author>Safford, William Edwin</md-author>
-  <md-description>Various pagings</md-description>
-  <md-description>&quot;Reprinted from the American Anthropologist, 1903-1905.&quot;</md-description>
-  <md-description>Issued in five parts</md-description>
+    name="LOC Solr Test" checksum="2103225742">
+  <md-title>Hymnes chantés dans la séance de la Convention nationale du 23 thermidor, jour anniversaire du 10 août</md-title>
+  <md-date>1795</md-date>
+  <md-description>Without the music</md-description>
+  <md-description>Caption title. Imprint from colophon</md-description>
+  <md-description>Le chant républicain du 10 août / par Le Brun ; musique de Chérubini -- Hymne a la liberté / par Th. Desorgues ; musique de Langlé -- L&apos;hymne du 10 août / par M. Chénier ; musique de Catel -- Hymne a la liberté : chant de triomphe / par Baour Lormian ; musique de Rigel père</md-description>
   <md-medium>book</md-medium>
  </location>
  <count>1</count>
- <recid>content: title the chamorro language of guam author safford william edwin medium book</recid>
+ <recid>content: title hymnes chante s dans la se ance de la convention nationale du thermidor jour anniversaire du aou t medium book</recid>
 </hit>
 <hit>
- <md-title>Felix Mendelssohn Bartholdy en zijne werken</md-title>
- <md-date>1908</md-date>
- <md-author>Hartog, Jacques</md-author>
- <md-description>On cover: Jubilé-uitgave</md-description>
+ <md-title>Policronicon</md-title>
+ <md-date>1527</md-date>
+ <md-author>Higden, Ranulf</md-author>
+ <md-description>Hidgen&apos;s work, divided into seven books and extending to the year 1348, was originally written in Latin.  The present English translation was made by John de Trevisa, who continued it to 1357.  The eighth book, 1358-1460, was added by Caxton, who in 1482 printed the work from Trevisa&apos;s translation, revising the antiquated text. This continuation is of interest as being the only original work of any magnitude from his pen.  Cf. W. Blades, Life and typography of William Caxton, 1863, v. 2, p. 125</md-description>
  <md-medium>book</md-medium>
  <location id="LOC Solr Test"
-    name="LOC Solr Test" checksum="648602593">
-  <md-title>Felix Mendelssohn Bartholdy en zijne werken</md-title>
-  <md-date>1908</md-date>
-  <md-author>Hartog, Jacques</md-author>
-  <md-description>On cover: Jubilé-uitgave</md-description>
+    name="LOC Solr Test" checksum="3717838211">
+  <md-title>Policronicon</md-title>
+  <md-date>1527</md-date>
+  <md-author>Higden, Ranulf</md-author>
+  <md-description>Imprint from colophon</md-description>
+  <md-description>This is a reprint of the edition printed by Wynken de Worde in 1495. The only variation appears to be the introduction of a few woodcuts and the omission of the date of Wynken de Worde&apos;s edition at the end. Cf. S.E. Brydges. The British bibliographer, 1814, v. 4, p. 349-350</md-description>
+  <md-description>Hidgen&apos;s work, divided into seven books and extending to the year 1348, was originally written in Latin.  The present English translation was made by John de Trevisa, who continued it to 1357.  The eighth book, 1358-1460, was added by Caxton, who in 1482 printed the work from Trevisa&apos;s translation, revising the antiquated text. This continuation is of interest as being the only original work of any magnitude from his pen.  Cf. W. Blades, Life and typography of William Caxton, 1863, v. 2, p. 125</md-description>
+  <md-description>The first book comprises a brief description of the countries of the known world, and a more particular account of Great Britain</md-description>
+  <md-description>Error in foliation: CCCxxxvi repeated</md-description>
+  <md-description>2a⁸ 2b-2h⁶ a-y⁸ z⁶ A-S⁸ T⁶ Y⁸ X⁸ (2h6 blank)</md-description>
+  <md-description>Ill. t.p. printed in red and black</md-description>
+  <md-description>Printed in double columns</md-description>
+  <md-description>LC copy imperfect: final leaf wanting. Imprint statement from RLIN record UTBGDDV8260-B. Many leaves re-margined and inlaid.DLC</md-description>
   <md-medium>book</md-medium>
  </location>
  <count>1</count>
- <recid>content: title felix mendelssohn bartholdy en zijne werken author hartog jacques medium book</recid>
+ <recid>content: title policronicon author higden ranulf medium book</recid>
 </hit>
 <hit>
- <md-title>The small holding</md-title>
- <md-date>1908</md-date>
- <md-author>Green, Frederick Ernest</md-author>
- <md-description>&quot;Much of the matter reprinted in this ... book has appeared in Farm and garden, and some of it in Farm and home.&quot;</md-description>
+ <md-title>Vitas patrum</md-title>
+ <md-date>1495</md-date>
+ <md-description>LC Vollbehr Collection copy 2 imperfect: leaf CCCxlvii [i.e. 348] in facsimile (cf. Vollbehr&apos;s files, Proctor 9697), and used as t.p. (wanting original); book measures 27 cm., bound in red leather, with coat-of-arms of Curzon in gilt on cover; inside dentelles.DLC</md-description>
  <md-medium>book</md-medium>
  <location id="LOC Solr Test"
-    name="LOC Solr Test" checksum="3328957420">
-  <md-title>The small holding</md-title>
-  <md-date>1908</md-date>
-  <md-author>Green, Frederick Ernest</md-author>
-  <md-description>&quot;Much of the matter reprinted in this ... book has appeared in Farm and garden, and some of it in Farm and home.&quot;</md-description>
+    name="LOC Solr Test" checksum="1037483384">
+  <md-title>Vitas patrum</md-title>
+  <md-date>1495</md-date>
+  <md-description>&quot;By the blessyd [and] holy saynt Saynt Ierome ... [and] other solytarye relygyouse persones after hy[m] ...&quot;: leaf Aa2</md-description>
+  <md-description>Imprint from colophon</md-description>
+  <md-description>Signatures: Aa⁸ a-o⁸ p⁶ q-x⁸ y¹⁰ z-2t⁸ 2v-2x⁶</md-description>
+  <md-description>Error in foliation: lxxxxiii repeated</md-description>
+  <md-description>The title is xylographic (white on black)</md-description>
+  <md-description>LC Vollbehr Collection copy 1 bound in full leather, stamped in gilt and blind; inside dentelles, with blind stamping on the paste-down endpapers.DLC</md-description>
+  <md-description>LC Vollbehr Collection copy 2 imperfect: leaf CCCxlvii [i.e. 348] in facsimile (cf. Vollbehr&apos;s files, Proctor 9697), and used as t.p. (wanting original); book measures 27 cm., bound in red leather, with coat-of-arms of Curzon in gilt on cover; inside dentelles.DLC</md-description>
   <md-medium>book</md-medium>
  </location>
  <count>1</count>
- <recid>content: title the small holding author green frederick ernest medium book</recid>
+ <recid>content: title vitas patrum medium book</recid>
 </hit>
 <hit>
- <md-title>Essai sur les emprunts d&apos;états, et la protection des droits des porteurs de fonds d&apos;états étrangers</md-title>
- <md-date>1907</md-date>
- <md-author>Wuarin, Albert</md-author>
+ <md-title>A shorte treatise vpon the Turkes chronicles</md-title>
+ <md-date>1546</md-date>
+ <md-author>Giovio, Paolo</md-author>
+ <md-description>(from t.p.) The conte[n]tes of the boke [brace] the begynnyng of the Turkyshe empyre -- The lyues of al the Turkyshe emperours -- The araye and discipline of the Turkysh warfare described &amp; set forth most exactly / the sayd Paulus beyng the authour</md-description>
  <md-medium>book</md-medium>
  <location id="LOC Solr Test"
-    name="LOC Solr Test" checksum="1197472704">
-  <md-title>Essai sur les emprunts d&apos;états, et la protection des droits des porteurs de fonds d&apos;états étrangers</md-title>
-  <md-date>1907</md-date>
-  <md-author>Wuarin, Albert</md-author>
+    name="LOC Solr Test" checksum="2652095853">
+  <md-title>A shorte treatise vpon the Turkes chronicles</md-title>
+  <md-date>1546</md-date>
+  <md-author>Giovio, Paolo</md-author>
+  <md-description>Imprint from colophon</md-description>
+  <md-description>Signatures: *⁸ A-S⁸</md-description>
+  <md-description>(from t.p.) The conte[n]tes of the boke [brace] the begynnyng of the Turkyshe empyre -- The lyues of al the Turkyshe emperours -- The araye and discipline of the Turkysh warfare described &amp; set forth most exactly / the sayd Paulus beyng the authour</md-description>
   <md-medium>book</md-medium>
  </location>
  <count>1</count>
- <recid>content: title essai sur les emprunts d e tats et la protection des droits des porteurs de fonds d e tats e trangers author wuarin albert medium book</recid>
+ <recid>content: title a shorte treatise vpon the turkes chronicles author giovio paolo medium book</recid>
 </hit>
 <hit>
- <md-title>Lancasterian schools in Philadelphia</md-title>
- <md-date>1907</md-date>
- <md-author>Ellis, Charles Calvert</md-author>
+ <md-title>The paradox of tradition</md-title>
+ <md-title-remainder>gender, land, and inheritance rights among the Baganda</md-title-remainder>
+ <md-author>Nalwanga-Sebina</md-author>
+ <md-description>Cover title</md-description>
  <md-medium>book</md-medium>
  <location id="LOC Solr Test"
-    name="LOC Solr Test" checksum="131730346">
-  <md-title>Lancasterian schools in Philadelphia</md-title>
-  <md-date>1907</md-date>
-  <md-author>Ellis, Charles Calvert</md-author>
+    name="LOC Solr Test" checksum="4266708322">
+  <md-title>The paradox of tradition</md-title>
+  <md-title-remainder>gender, land, and inheritance rights among the Baganda</md-title-remainder>
+  <md-author>Nalwanga-Sebina</md-author>
+  <md-description>Cover title</md-description>
   <md-medium>book</md-medium>
  </location>
  <count>1</count>
- <recid>content: title lancasterian schools in philadelphia author ellis charles calvert medium book</recid>
+ <recid>content: title the paradox of tradition author nalwanga sebina medium book</recid>
 </hit>
 <hit>
- <md-title>On fermentation</md-title>
- <md-date>1907</md-date>
- <md-author>Taylor, Alonzo Englebert</md-author>
- <md-description>Source: Gift of A.W. Bitting, presented in memory of Katherine Golden Bitting, Oct. 6, 1939.DLC</md-description>
+ <md-title>A Description of Kentucky, in North America</md-title>
+ <md-title-remainder>to which are prefixed miscellaneous observations respecting the United States</md-title-remainder>
+ <md-author>Toulmin, Harry</md-author>
+ <md-description>Pages 117-119 contain a letter received &quot;since the preceding account was printed&quot;, dated Feb. 2, 1793</md-description>
  <md-medium>book</md-medium>
  <location id="LOC Solr Test"
-    name="LOC Solr Test" checksum="3877827531">
-  <md-title>On fermentation</md-title>
-  <md-date>1907</md-date>
-  <md-author>Taylor, Alonzo Englebert</md-author>
-  <md-description>LC copy has bookplate of Katherine Golden Bitting.DLC</md-description>
-  <md-description>Source: Gift of A.W. Bitting, presented in memory of Katherine Golden Bitting, Oct. 6, 1939.DLC</md-description>
+    name="LOC Solr Test" checksum="1586353495">
+  <md-title>A Description of Kentucky, in North America</md-title>
+  <md-title-remainder>to which are prefixed miscellaneous observations respecting the United States</md-title-remainder>
+  <md-author>Toulmin, Harry</md-author>
+  <md-description>Map accompanied by explanatory leaf</md-description>
+  <md-description>Pages 117-119 contain a letter received &quot;since the preceding account was printed&quot;, dated Feb. 2, 1793</md-description>
   <md-medium>book</md-medium>
  </location>
  <count>1</count>
- <recid>content: title on fermentation author taylor alonzo englebert medium book</recid>
+ <recid>content: title a description of kentucky in north america author toulmin harry medium book</recid>
 </hit>
 <hit>
- <md-title>The last siege of Louisburg</md-title>
- <md-date>1907</md-date>
- <md-author>Macdonald, C. Ochiltree</md-author>
+ <md-title>Vidas e obra de Antonio Oliveira Salazar</md-title>
+ <md-author>Duarte, Augusto</md-author>
  <md-medium>book</md-medium>
  <location id="LOC Solr Test"
-    name="LOC Solr Test" checksum="2812085173">
-  <md-title>The last siege of Louisburg</md-title>
-  <md-date>1907</md-date>
-  <md-author>Macdonald, C. Ochiltree</md-author>
+    name="LOC Solr Test" checksum="3200965964">
+  <md-title>Vidas e obra de Antonio Oliveira Salazar</md-title>
+  <md-author>Duarte, Augusto</md-author>
   <md-medium>book</md-medium>
  </location>
  <count>1</count>
- <recid>content: title the last siege of louisburg author macdonald c ochiltree medium book</recid>
+ <recid>content: title vidas e obra de antonio oliveira salazar author duarte augusto medium book</recid>
 </hit>
 <hit>
- <md-title>The standard financial dictionary;</md-title>
- <md-title-remainder>an encyclopedia covering the entire field of finance, words, terms, phrases</md-title-remainder>
- <md-date>1906-1907</md-date>
- <md-author>Shea, Christopher Ambrose</md-author>
+ <md-title>A obra administrativa da ditadura em Mocambique</md-title>
  <md-medium>book</md-medium>
  <location id="LOC Solr Test"
-    name="LOC Solr Test" checksum="2263215062">
-  <md-title>The standard financial dictionary;</md-title>
-  <md-title-remainder>an encyclopedia covering the entire field of finance, words, terms, phrases</md-title-remainder>
-  <md-date>1906-1907</md-date>
-  <md-author>Shea, Christopher Ambrose</md-author>
+    name="LOC Solr Test" checksum="520611137">
+  <md-title>A obra administrativa da ditadura em Mocambique</md-title>
   <md-medium>book</md-medium>
  </location>
  <count>1</count>
- <recid>content: title the standard financial dictionary author shea christopher ambrose medium book</recid>
+ <recid>content: title a obra administrativa da ditadura em mocambique medium book</recid>
 </hit>
 <hit>
- <md-title>Die Musik in Böhmen</md-title>
- <md-date>1906</md-date>
- <md-author>Batka, Richard</md-author>
- <md-description>The frontispiece is a mounted photograph</md-description>
+ <md-title>Tres cartas de Serguei Esenin</md-title>
+ <md-date>1995</md-date>
+ <md-author>Esenin, Sergeĭ Aleksandrovich</md-author>
+ <md-description>Three epistolary poems published in the form of letters folded in an envelope. Text is mimeographed on brown paper with mounted dates, initials, signatures, and decorations. Each letter tied with green yarn. Colophon, including reproduction of a Chagall window design, mimeographed on green paper (12 x 21 cm.) and inserted in envelope</md-description>
  <md-medium>book</md-medium>
  <location id="LOC Solr Test"
-    name="LOC Solr Test" checksum="1746342815">
-  <md-title>Die Musik in Böhmen</md-title>
-  <md-date>1906</md-date>
-  <md-author>Batka, Richard</md-author>
-  <md-description>Series title also at head of t.-p</md-description>
-  <md-description>The frontispiece is a mounted photograph</md-description>
+    name="LOC Solr Test" checksum="2135223606">
+  <md-title>Tres cartas de Serguei Esenin</md-title>
+  <md-date>1995</md-date>
+  <md-author>Esenin, Sergeĭ Aleksandrovich</md-author>
+  <md-description>Three epistolary poems published in the form of letters folded in an envelope. Text is mimeographed on brown paper with mounted dates, initials, signatures, and decorations. Each letter tied with green yarn. Colophon, including reproduction of a Chagall window design, mimeographed on green paper (12 x 21 cm.) and inserted in envelope</md-description>
+  <md-description>Part of a collection of handmade chapbooks, most with cords for hanging (literatura de cordel), published by Ediciones Vigía under the auspices of the Cuban Ministry of Culture</md-description>
+  <md-description>&quot;Esta edición ... consta de doscientos ejemplares numerados, iluminados a mano&quot;--Colophon</md-description>
+  <md-description>LC copy unnumbered.DLC</md-description>
   <md-medium>book</md-medium>
  </location>
  <count>1</count>
- <recid>content: title die musik in bo hmen author batka richard medium book</recid>
+ <recid>content: title tres cartas de serguei esenin author esenin sergei aleksandrovich medium book</recid>
 </hit>
 <hit>
- <md-title>Baku</md-title>
- <md-title-remainder>an eventful history</md-title-remainder>
- <md-date>1905</md-date>
- <md-author>Henry, James Dodds</md-author>
- <md-description>pt. I. The origin, progress and present position of the Russian petroleum industry.--pt. II. The rising in the Caucasus.--pt. III. Batoum, Baku&apos;s chief oil port</md-description>
+ <md-title>Refutação dos sofismas empregados por alguns jornalistas inglezes sobre dom Miguel em Portugal e os portugueses em Plymouth</md-title>
  <md-medium>book</md-medium>
  <location id="LOC Solr Test"
-    name="LOC Solr Test" checksum="3360955284">
-  <md-title>Baku</md-title>
-  <md-title-remainder>an eventful history</md-title-remainder>
-  <md-date>1905</md-date>
-  <md-author>Henry, James Dodds</md-author>
-  <md-description>pt. I. The origin, progress and present position of the Russian petroleum industry.--pt. II. The rising in the Caucasus.--pt. III. Batoum, Baku&apos;s chief oil port</md-description>
+    name="LOC Solr Test" checksum="3749836075">
+  <md-title>Refutação dos sofismas empregados por alguns jornalistas inglezes sobre dom Miguel em Portugal e os portugueses em Plymouth</md-title>
   <md-medium>book</md-medium>
  </location>
  <count>1</count>
- <recid>content: title baku author henry james dodds medium book</recid>
+ <recid>content: title refutac a o dos sofismas empregados por alguns jornalistas inglezes sobre dom miguel em portugal e os portugueses em plymouth medium book</recid>
 </hit>
 <hit>
- <md-title>The life of Froude</md-title>
- <md-date>1905</md-date>
- <md-author>Paul, Herbert W</md-author>
+ <md-title>Mount Washington;</md-title>
+ <md-title-remainder>a handbook for travelers</md-title-remainder>
+ <md-author>Burt, Frank H</md-author>
  <md-medium>book</md-medium>
  <location id="LOC Solr Test"
-    name="LOC Solr Test" checksum="1682347087">
-  <md-title>The life of Froude</md-title>
-  <md-date>1905</md-date>
-  <md-author>Paul, Herbert W</md-author>
+    name="LOC Solr Test" checksum="1069481248">
+  <md-title>Mount Washington;</md-title>
+  <md-title-remainder>a handbook for travelers</md-title-remainder>
+  <md-author>Burt, Frank H</md-author>
   <md-medium>book</md-medium>
  </location>
  <count>1</count>
- <recid>content: title the life of froude author paul herbert w medium book</recid>
+ <recid>content: title mount washington author burt frank h medium book</recid>
 </hit>
 <hit>
- <md-title>Dějiny české hudby</md-title>
- <md-date>1903</md-date>
- <md-author>Nejedlý, Zdeněk</md-author>
+ <md-title>Practical religion exemplfy&apos;d in the lives of Mrs. Mary Terry who died Decemb. 8th 1708. in the eighteenth year of her age. and Miss Clissovld. who departed this life the 12th of Decemb. 1711. in the twenty ninth year of her age</md-title>
+ <md-date>1713</md-date>
+ <md-author>Reynolds, Thomas</md-author>
+ <md-description>Title within mourning border</md-description>
  <md-medium>book</md-medium>
  <location id="LOC Solr Test"
-    name="LOC Solr Test" checksum="680600457">
-  <md-title>Dějiny české hudby</md-title>
-  <md-date>1903</md-date>
-  <md-author>Nejedlý, Zdeněk</md-author>
+    name="LOC Solr Test" checksum="2684093717">
+  <md-title>Practical religion exemplfy&apos;d in the lives of Mrs. Mary Terry who died Decemb. 8th 1708. in the eighteenth year of her age. and Miss Clissovld. who departed this life the 12th of Decemb. 1711. in the twenty ninth year of her age</md-title>
+  <md-date>1713</md-date>
+  <md-author>Reynolds, Thomas</md-author>
+  <md-description>Title within mourning border</md-description>
   <md-medium>book</md-medium>
  </location>
  <count>1</count>
- <recid>content: title de jiny c eske hudby author nejedly zdene k medium book</recid>
+ <recid>content: title practical religion exemplfy d in the lives of mrs mary terry who died decemb th in the eighteenth year of her age and miss clissovld who departed this life the th of decemb in the twenty ninth year of her age author reynolds thomas medium book</recid>
 </hit>
 <hit>
- <md-title>The geological structure of Monzoni and Fassa</md-title>
- <md-date>1903</md-date>
- <md-author>Gordon, Maria M. Ogilvie</md-author>
+ <md-title>Tom-tell-troth, or, A free discourse touching the murmurs of the times</md-title>
+ <md-title-remainder>directed to His Majesty by way of humble advertisement</md-title-remainder>
+ <md-date>1642</md-date>
+ <md-description>Errors in paging: 15-16 repeated</md-description>
  <md-medium>book</md-medium>
  <location id="LOC Solr Test"
-    name="LOC Solr Test" checksum="2295212926">
-  <md-title>The geological structure of Monzoni and Fassa</md-title>
-  <md-date>1903</md-date>
-  <md-author>Gordon, Maria M. Ogilvie</md-author>
+    name="LOC Solr Test" checksum="3738890">
+  <md-title>Tom-tell-troth, or, A free discourse touching the murmurs of the times</md-title>
+  <md-title-remainder>directed to His Majesty by way of humble advertisement</md-title-remainder>
+  <md-date>1642</md-date>
+  <md-description>Errors in paging: 15-16 repeated</md-description>
+  <md-description>Signatures: B⁴ ²B⁴ C-D⁴</md-description>
+  <md-description>LC copy wanting final blank.DLC</md-description>
   <md-medium>book</md-medium>
  </location>
  <count>1</count>
- <recid>content: title the geological structure of monzoni and fassa author gordon maria m ogilvie medium book</recid>
+ <recid>content: title tom tell troth or a free discourse touching the murmurs of the times medium book</recid>
 </hit>
 <hit>
- <md-title>Four southern magazines</md-title>
- <md-date>1902</md-date>
- <md-author>Rogers, Edward Reinhold</md-author>
- <md-description>&quot;The four chapters of this brief discussion are limited to four of the principal ante-bellum southern magazines--namely, De Bow&apos;s review, of New Orleans; The Southern review, of Charleston, S. C.; The Southern quarterly review, also of Charleston, S. C.; The Southern literary messenger, of Richmond, Virginia.&quot;--Pref</md-description>
+ <md-title>A short discoverie of the coasts and continent of America, from the equinoctiall northward, and of the adjacent isles</md-title>
+ <md-date>1644</md-date>
+ <md-author>Castell, William</md-author>
+ <md-description>Signatures: [A]² ***⁴ B-F⁴ G², 2A-2F⁴ 2G⁴(-2G4)</md-description>
  <md-medium>book</md-medium>
  <location id="LOC Solr Test"
-    name="LOC Solr Test" checksum="1229470568">
-  <md-title>Four southern magazines</md-title>
-  <md-date>1902</md-date>
-  <md-author>Rogers, Edward Reinhold</md-author>
-  <md-description>&quot;The four chapters of this brief discussion are limited to four of the principal ante-bellum southern magazines--namely, De Bow&apos;s review, of New Orleans; The Southern review, of Charleston, S. C.; The Southern quarterly review, also of Charleston, S. C.; The Southern literary messenger, of Richmond, Virginia.&quot;--Pref</md-description>
+    name="LOC Solr Test" checksum="1618351359">
+  <md-title>A short discoverie of the coasts and continent of America, from the equinoctiall northward, and of the adjacent isles</md-title>
+  <md-date>1644</md-date>
+  <md-author>Castell, William</md-author>
+  <md-description>Signatures: [A]² ***⁴ B-F⁴ G², 2A-2F⁴ 2G⁴(-2G4)</md-description>
   <md-medium>book</md-medium>
  </location>
  <count>1</count>
- <recid>content: title four southern magazines author rogers edward reinhold medium book</recid>
+ <recid>content: title a short discoverie of the coasts and continent of america from the equinoctiall northward and of the adjacent isles author castell william medium book</recid>
 </hit>
 <hit>
- <md-title>Frederick Chopin</md-title>
- <md-title-remainder>as a man and musician;</md-title-remainder>
- <md-date>1902</md-date>
- <md-author>Niecks, Frederick</md-author>
+ <md-title>An ansvver to mis-led Doctor Fearne, according to his own method</md-title>
+ <md-title-remainder>of his book : sect. 1.2, The divinity being by Scripture : sect. 3.4.5, The reason by Aristotle : sect. 6.7, The sense or matter of fact by witnesse examined</md-title-remainder>
+ <md-date>1642</md-date>
+ <md-author>Herle, Charles</md-author>
+ <md-description>Signatures: [A]² B-E⁴ F⁴(-F4)</md-description>
  <md-medium>book</md-medium>
  <location id="LOC Solr Test"
-    name="LOC Solr Test" checksum="3909825395">
-  <md-title>Frederick Chopin</md-title>
-  <md-title-remainder>as a man and musician;</md-title-remainder>
-  <md-date>1902</md-date>
-  <md-author>Niecks, Frederick</md-author>
+    name="LOC Solr Test" checksum="3232963828">
+  <md-title>An ansvver to mis-led Doctor Fearne, according to his own method</md-title>
+  <md-title-remainder>of his book : sect. 1.2, The divinity being by Scripture : sect. 3.4.5, The reason by Aristotle : sect. 6.7, The sense or matter of fact by witnesse examined</md-title-remainder>
+  <md-date>1642</md-date>
+  <md-author>Herle, Charles</md-author>
+  <md-description>Signatures: [A]² B-E⁴ F⁴(-F4)</md-description>
   <md-medium>book</md-medium>
  </location>
  <count>1</count>
- <recid>content: title frederick chopin author niecks frederick medium book</recid>
+ <recid>content: title an ansvver to mis led doctor fearne according to his own method author herle charles medium book</recid>
 </hit>
 <hit>
- <md-title>What I saw in South Africa, September and October, 1902</md-title>
- <md-date>1902</md-date>
- <md-author>MacDonald, James Ramsay</md-author>
+ <md-title>A petition of W.C. exhibited to the High Court of Parliament now assembled</md-title>
+ <md-title-remainder>for the propagating of the Gospel in America and the West Indies, and for the setling of our plantations there : which petition is approved by 70 able English divines : also by Master Alexander Henderson and some other worthy ministers of Scotland</md-title-remainder>
+ <md-date>1641</md-date>
+ <md-author>Castell, William</md-author>
+ <md-description>LC copy wanting initial blank.DLC</md-description>
  <md-medium>book</md-medium>
  <location id="LOC Solr Test"
-    name="LOC Solr Test" checksum="2844083037">
-  <md-title>What I saw in South Africa, September and October, 1902</md-title>
-  <md-date>1902</md-date>
-  <md-author>MacDonald, James Ramsay</md-author>
+    name="LOC Solr Test" checksum="552609001">
+  <md-title>A petition of W.C. exhibited to the High Court of Parliament now assembled</md-title>
+  <md-title-remainder>for the propagating of the Gospel in America and the West Indies, and for the setling of our plantations there : which petition is approved by 70 able English divines : also by Master Alexander Henderson and some other worthy ministers of Scotland</md-title-remainder>
+  <md-date>1641</md-date>
+  <md-author>Castell, William</md-author>
+  <md-description>Signatures: A-B⁴ C²</md-description>
+  <md-description>LC copy wanting initial blank.DLC</md-description>
   <md-medium>book</md-medium>
  </location>
  <count>1</count>
- <recid>content: title what i saw in south africa september and october author macdonald james ramsay medium book</recid>
+ <recid>content: title a petition of w c exhibited to the high court of parliament now assembled author castell william medium book</recid>
 </hit>
 <hit>
- <md-title>History of the First Light Battery Connecticut Volunteers, 1861-1865</md-title>
- <md-title-remainder>Personal records and reminiscences. The story of the battery from its organization to the present time</md-title-remainder>
- <md-date>1901</md-date>
- <md-author>Beecher, Herbert W</md-author>
- <md-description>Edited by John De Morgan</md-description>
+ <md-title>The priviledges and practice of parliaments in England</md-title>
+ <md-title-remainder>collected out of the common lawes of this land, seene and allowed by the learned in the lawes, commended to the high court of Parliament now assembled</md-title-remainder>
+ <md-date>1641</md-date>
+ <md-description>Place of printing from Wing</md-description>
  <md-medium>book</md-medium>
  <location id="LOC Solr Test"
-    name="LOC Solr Test" checksum="163728210">
-  <md-title>History of the First Light Battery Connecticut Volunteers, 1861-1865</md-title>
-  <md-title-remainder>Personal records and reminiscences. The story of the battery from its organization to the present time</md-title-remainder>
-  <md-date>1901</md-date>
-  <md-author>Beecher, Herbert W</md-author>
-  <md-description>Edited by John De Morgan</md-description>
+    name="LOC Solr Test" checksum="2167221470">
+  <md-title>The priviledges and practice of parliaments in England</md-title>
+  <md-title-remainder>collected out of the common lawes of this land, seene and allowed by the learned in the lawes, commended to the high court of Parliament now assembled</md-title-remainder>
+  <md-date>1641</md-date>
+  <md-description>Place of printing from Wing</md-description>
   <md-medium>book</md-medium>
  </location>
  <count>1</count>
- <recid>content: title history of the first light battery connecticut volunteers author beecher herbert w medium book</recid>
+ <recid>content: title the priviledges and practice of parliaments in england medium book</recid>
 </hit>
 </show>
\ No newline at end of file
index 365a0ea..f760204 100644 (file)
 <start>0</start>
 <num>20</num>
 <hit>
- <md-title>Mutatus polemo</md-title>
- <md-title-remainder>the horrible stratagems of the Jesuits, lately practised in England during the civil wars and now discovered by a reclaimed Romanist, imployed before as a workman of the mission from His Holiness : wherein the royalist may see himself out-witted and forlorn, while the Presbyterian is closed with, and all to draw on the holy cause : a relation in particular, and with such exquisite characters of truth stampt upon it, that each of our three grand parties may here feel how each other pulses beat : also, a discovery of a plot laid for a speedy invasion</md-title-remainder>
- <md-date>1650</md-date>
- <md-author>A. B</md-author>
- <md-description>Signatures: A-G⁴</md-description>
+ <md-title>The arts of rowing and training</md-title>
+ <md-title-remainder>with an appendix containing the laws of boat-racing, &amp;c</md-title-remainder>
+ <md-date>1866</md-date>
+ <md-author>&quot;Argonaut&quot;</md-author>
  <md-medium>book</md-medium>
  <location id="LOC Solr Test"
-    name="LOC Solr Test" checksum="2135223606">
-  <md-title>Mutatus polemo</md-title>
-  <md-title-remainder>the horrible stratagems of the Jesuits, lately practised in England during the civil wars and now discovered by a reclaimed Romanist, imployed before as a workman of the mission from His Holiness : wherein the royalist may see himself out-witted and forlorn, while the Presbyterian is closed with, and all to draw on the holy cause : a relation in particular, and with such exquisite characters of truth stampt upon it, that each of our three grand parties may here feel how each other pulses beat : also, a discovery of a plot laid for a speedy invasion</md-title-remainder>
-  <md-date>1650</md-date>
-  <md-author>A. B</md-author>
-  <md-description>Signatures: A-G⁴</md-description>
+    name="LOC Solr Test" checksum="1554355631">
+  <md-title>The arts of rowing and training</md-title>
+  <md-title-remainder>with an appendix containing the laws of boat-racing, &amp;c</md-title-remainder>
+  <md-date>1866</md-date>
+  <md-author>&quot;Argonaut&quot;</md-author>
   <md-medium>book</md-medium>
  </location>
  <count>1</count>
- <recid>content: title mutatus polemo author a b medium book</recid>
+ <recid>content: title the arts of rowing and training author argonaut medium book</recid>
+</hit>
+<hit>
+ <md-title>Gradual reduction milling</md-title>
+ <md-title-remainder>A treatise on the art of modern milling</md-title-remainder>
+ <md-author>&quot;Cereal,&quot;</md-author>
+ <md-medium>book</md-medium>
+ <location id="LOC Solr Test"
+    name="LOC Solr Test" checksum="3168968100">
+  <md-title>Gradual reduction milling</md-title>
+  <md-title-remainder>A treatise on the art of modern milling</md-title-remainder>
+  <md-author>&quot;Cereal,&quot;</md-author>
+  <md-medium>book</md-medium>
+ </location>
+ <count>1</count>
+ <recid>content: title gradual reduction milling author cereal medium book</recid>
+</hit>
+<hit>
+ <md-title>The sovereigns and courts of Europe</md-title>
+ <md-date>1891</md-date>
+ <md-author>&quot;Politikos,&quot; pseud</md-author>
+ <md-medium>book</md-medium>
+ <location id="LOC Solr Test"
+    name="LOC Solr Test" checksum="488613273">
+  <md-title>The sovereigns and courts of Europe</md-title>
+  <md-date>1891</md-date>
+  <md-author>&quot;Politikos,&quot; pseud</md-author>
+  <md-medium>book</md-medium>
+ </location>
+ <count>1</count>
+ <recid>content: title the sovereigns and courts of europe author politikos pseud medium book</recid>
+</hit>
+<hit>
+ <md-title>Guide to Florida</md-title>
+ <md-date>1875-1876</md-date>
+ <md-author>&quot;Rambler,&quot; pseud</md-author>
+ <md-medium>book</md-medium>
+ <location id="LOC Solr Test"
+    name="LOC Solr Test" checksum="2103225742">
+  <md-title>Guide to Florida</md-title>
+  <md-date>1875</md-date>
+  <md-author>&quot;Rambler,&quot; pseud</md-author>
+  <md-medium>book</md-medium>
+ </location>
+ <location id="LOC Solr Test"
+    name="LOC Solr Test" checksum="3717838211">
+  <md-title>Guide to Florida</md-title>
+  <md-date>1876</md-date>
+  <md-author>&quot;Rambler,&quot; pseud</md-author>
+  <md-medium>book</md-medium>
+ </location>
+ <count>2</count>
+ <recid>content: title guide to florida author rambler pseud medium book</recid>
+</hit>
+<hit>
+ <md-title>2000+ ceist</md-title>
+ <md-title-remainder>idir throm agus éadrom</md-title-remainder>
+ <md-date>1999</md-date>
+ <md-author>&apos;Ac Gearailt, Breandán</md-author>
+ <md-medium>book</md-medium>
+ <location id="LOC Solr Test"
+    name="LOC Solr Test" checksum="1037483384">
+  <md-title>2000+ ceist</md-title>
+  <md-title-remainder>idir throm agus éadrom</md-title-remainder>
+  <md-date>1999</md-date>
+  <md-author>&apos;Ac Gearailt, Breandán</md-author>
+  <md-medium>book</md-medium>
+ </location>
+ <count>1</count>
+ <recid>content: title ceist author ac gearailt breanda n medium book</recid>
+</hit>
+<hit>
+ <md-title>The story of Jewād;</md-title>
+ <md-title-remainder>a romance;</md-title-remainder>
+ <md-date>1884</md-date>
+ <md-author>&apos;Alī &apos;Azīz</md-author>
+ <md-medium>book</md-medium>
+ <location id="LOC Solr Test"
+    name="LOC Solr Test" checksum="2652095853">
+  <md-title>The story of Jewād;</md-title>
+  <md-title-remainder>a romance;</md-title-remainder>
+  <md-date>1884</md-date>
+  <md-author>&apos;Alī &apos;Azīz</md-author>
+  <md-medium>book</md-medium>
+ </location>
+ <count>1</count>
+ <recid>content: title the story of jewa d author ali azi z medium book</recid>
+</hit>
+<hit>
+ <md-title>A digest of the law of actions and trials at nisi prius</md-title>
+ <md-date>1808</md-date>
+ <md-author>&apos;Espinasse, Isaac</md-author>
+ <md-description>Paged continuously</md-description>
+ <md-medium>book</md-medium>
+ <location id="LOC Solr Test"
+    name="LOC Solr Test" checksum="4266708322">
+  <md-title>A digest of the law of actions and trials at nisi prius</md-title>
+  <md-date>1808</md-date>
+  <md-author>&apos;Espinasse, Isaac</md-author>
+  <md-description>Paged continuously</md-description>
+  <md-description>Includes indexes</md-description>
+  <md-medium>book</md-medium>
+ </location>
+ <count>1</count>
+ <recid>content: title a digest of the law of actions and trials at nisi prius author espinasse isaac medium book</recid>
+</hit>
+<hit>
+ <md-title>Tales</md-title>
+ <md-date>1768</md-date>
+ <md-author>&apos;Ināyat Āllāh</md-author>
+ <md-description>Caption title: The Baar danesh; or, Garden of knowledge</md-description>
+ <md-medium>book</md-medium>
+ <location id="LOC Solr Test"
+    name="LOC Solr Test" checksum="1586353495">
+  <md-title>Tales</md-title>
+  <md-date>1768</md-date>
+  <md-author>&apos;Ināyat Āllāh</md-author>
+  <md-description>Caption title: The Baar danesh; or, Garden of knowledge</md-description>
+  <md-description>Tr. by Alexander Dow</md-description>
+  <md-medium>book</md-medium>
+ </location>
+ <count>1</count>
+ <recid>content: title tales author ina yat a lla h medium book</recid>
+</hit>
+<hit>
+ <md-title>Bahar-danush;</md-title>
+ <md-title-remainder>or, Garden of knowledge. An oriental romance</md-title-remainder>
+ <md-date>1799</md-date>
+ <md-author>&apos;Ināyat Āllāh</md-author>
+ <md-medium>book</md-medium>
+ <location id="LOC Solr Test"
+    name="LOC Solr Test" checksum="3200965964">
+  <md-title>Bahar-danush;</md-title>
+  <md-title-remainder>or, Garden of knowledge. An oriental romance</md-title-remainder>
+  <md-date>1799</md-date>
+  <md-author>&apos;Ināyat Āllāh</md-author>
+  <md-medium>book</md-medium>
+ </location>
+ <count>1</count>
+ <recid>content: title bahar danush author ina yat a lla h medium book</recid>
 </hit>
 <hit>
  <md-title>Adat istiadat perkawinan Dayak Kanayatn</md-title>
  <recid>content: title adat istiadat perkawinan dayak kanayatn author a b dacing t medium book</recid>
 </hit>
 <hit>
+ <md-title>Mutatus polemo</md-title>
+ <md-title-remainder>the horrible stratagems of the Jesuits, lately practised in England during the civil wars and now discovered by a reclaimed Romanist, imployed before as a workman of the mission from His Holiness : wherein the royalist may see himself out-witted and forlorn, while the Presbyterian is closed with, and all to draw on the holy cause : a relation in particular, and with such exquisite characters of truth stampt upon it, that each of our three grand parties may here feel how each other pulses beat : also, a discovery of a plot laid for a speedy invasion</md-title-remainder>
+ <md-date>1650</md-date>
+ <md-author>A. B</md-author>
+ <md-description>Signatures: A-G⁴</md-description>
+ <md-medium>book</md-medium>
+ <location id="LOC Solr Test"
+    name="LOC Solr Test" checksum="2135223606">
+  <md-title>Mutatus polemo</md-title>
+  <md-title-remainder>the horrible stratagems of the Jesuits, lately practised in England during the civil wars and now discovered by a reclaimed Romanist, imployed before as a workman of the mission from His Holiness : wherein the royalist may see himself out-witted and forlorn, while the Presbyterian is closed with, and all to draw on the holy cause : a relation in particular, and with such exquisite characters of truth stampt upon it, that each of our three grand parties may here feel how each other pulses beat : also, a discovery of a plot laid for a speedy invasion</md-title-remainder>
+  <md-date>1650</md-date>
+  <md-author>A. B</md-author>
+  <md-description>Signatures: A-G⁴</md-description>
+  <md-medium>book</md-medium>
+ </location>
+ <count>1</count>
+ <recid>content: title mutatus polemo author a b medium book</recid>
+</hit>
+<hit>
  <md-title>Homseni</md-title>
  <md-date>1996</md-date>
  <md-author>A. C</md-author>
  <recid>content: title overland inland and upland author a u medium book</recid>
 </hit>
 <hit>
- <md-title>Biographisch woordenboek der Nederlanden</md-title>
- <md-title-remainder>bevattende levensbeschrijvingen van zoodanige personen, die zich op eenigerlei wijze in ons vaderland hebben vermaard gemaakt</md-title-remainder>
- <md-date>1852</md-date>
- <md-author>Aa, Abraham Jacob van der</md-author>
- <md-description>Title varies: v. 3-6, 9, A. J. van der Aa, Biographisch woordenboek der Nederlanden, voortgezet door K. J. R. van Harderwijk; v. 7-8, 10-21, voortgezet door K. J. R. van Harderwijk en Dr. G. D. J. Schotel</md-description>
- <md-medium>book</md-medium>
- <location id="LOC Solr Test"
-    name="LOC Solr Test" checksum="1101479112">
-  <md-title>Biographisch woordenboek der Nederlanden</md-title>
-  <md-title-remainder>bevattende levensbeschrijvingen van zoodanige personen, die zich op eenigerlei wijze in ons vaderland hebben vermaard gemaakt</md-title-remainder>
-  <md-date>1852</md-date>
-  <md-author>Aa, Abraham Jacob van der</md-author>
-  <md-description>Title varies: v. 3-6, 9, A. J. van der Aa, Biographisch woordenboek der Nederlanden, voortgezet door K. J. R. van Harderwijk; v. 7-8, 10-21, voortgezet door K. J. R. van Harderwijk en Dr. G. D. J. Schotel</md-description>
-  <md-description>Vol. 2 is in 4 pts.; v. 8, 12 and 17 in 2 pts. each, with continuous paging</md-description>
-  <md-medium>book</md-medium>
- </location>
- <count>1</count>
- <recid>content: title biographisch woordenboek der nederlanden author aa abraham jacob van der medium book</recid>
-</hit>
-<hit>
- <md-title>De geschiedenis der Vereenigde Nederlanden, enderzelver buitenlandsche bezittingen</md-title>
- <md-title-remainder>geduurende de staatsen erfstadhouderlijke regeerwijze, ten tijde van Willem den Vierden; de vrouwe gouvernante Anna; en Willem den Vijfden</md-title-remainder>
- <md-date>1804-1810</md-date>
- <md-author>Aa, Cornelis van der</md-author>
- <md-description>Vol. 1 has half-title: De lotgewallen van de republiek der Veréénigde Nederlanden. Sints de invoering der staats- en erfstadhouderlijke regeerwijze in het jaar MDCCXLVII. Vol. 2-6: Geschiedenis der Veréénigde Nederlanden, 1747-1794</md-description>
- <md-medium>book</md-medium>
- <location id="LOC Solr Test"
-    name="LOC Solr Test" checksum="2716091581">
-  <md-title>De geschiedenis der Vereenigde Nederlanden, enderzelver buitenlandsche bezittingen</md-title>
-  <md-title-remainder>geduurende de staatsen erfstadhouderlijke regeerwijze, ten tijde van Willem den Vierden; de vrouwe gouvernante Anna; en Willem den Vijfden</md-title-remainder>
-  <md-date>1804-1810</md-date>
-  <md-author>Aa, Cornelis van der</md-author>
-  <md-description>Vol. 1 has half-title: De lotgewallen van de republiek der Veréénigde Nederlanden. Sints de invoering der staats- en erfstadhouderlijke regeerwijze in het jaar MDCCXLVII. Vol. 2-6: Geschiedenis der Veréénigde Nederlanden, 1747-1794</md-description>
-  <md-medium>book</md-medium>
- </location>
- <count>1</count>
- <recid>content: title de geschiedenis der vereenigde nederlanden enderzelver buitenlandsche bezittingen author aa cornelis van der medium book</recid>
-</hit>
-<hit>
- <md-title>Sketches from the ranch</md-title>
- <md-title-remainder>a Montana memoir</md-title-remainder>
- <md-date>1998</md-date>
- <md-author>Aadland, Dan</md-author>
- <md-medium>book</md-medium>
- <location id="LOC Solr Test"
-    name="LOC Solr Test" checksum="35736754">
-  <md-title>Sketches from the ranch</md-title>
-  <md-title-remainder>a Montana memoir</md-title-remainder>
-  <md-date>1998</md-date>
-  <md-author>Aadland, Dan</md-author>
-  <md-medium>book</md-medium>
- </location>
- <count>1</count>
- <recid>content: title sketches from the ranch author aadland dan medium book</recid>
-</hit>
-<hit>
- <md-title>Economic value of pro-environmental farming</md-title>
- <md-title-remainder>a critical and decision-making oriented application of the contingent valuation method</md-title-remainder>
- <md-date>1999</md-date>
- <md-author>Aakkula, Jyrki J</md-author>
- <md-description>Originally presented as the author&apos;s dissertation (University of Helsinki, 1999)</md-description>
- <md-medium>book</md-medium>
- <location id="LOC Solr Test"
-    name="LOC Solr Test" checksum="1650349223">
-  <md-title>Economic value of pro-environmental farming</md-title>
-  <md-title-remainder>a critical and decision-making oriented application of the contingent valuation method</md-title-remainder>
-  <md-date>1999</md-date>
-  <md-author>Aakkula, Jyrki J</md-author>
-  <md-description>Originally presented as the author&apos;s dissertation (University of Helsinki, 1999)</md-description>
-  <md-medium>book</md-medium>
- </location>
- <count>1</count>
- <recid>content: title economic value of pro environmental farming author aakkula jyrki j medium book</recid>
-</hit>
-<hit>
- <md-title>Digital signature blindness</md-title>
- <md-title-remainder>analysis of legislative approaches toward electronic authentication</md-title-remainder>
- <md-date>2000</md-date>
- <md-author>Aalberts, Babette</md-author>
- <md-medium>book</md-medium>
- <location id="LOC Solr Test"
-    name="LOC Solr Test" checksum="3264961692">
-  <md-title>Digital signature blindness</md-title>
-  <md-title-remainder>analysis of legislative approaches toward electronic authentication</md-title-remainder>
-  <md-date>2000</md-date>
-  <md-author>Aalberts, Babette</md-author>
-  <md-medium>book</md-medium>
- </location>
- <count>1</count>
- <recid>content: title digital signature blindness author aalberts babette medium book</recid>
-</hit>
-<hit>
- <md-title>Roof</md-title>
- <md-title-remainder>de ontvreemding van joods bezit tijdens de Tweede Wereldoorlog</md-title-remainder>
- <md-date>1999</md-date>
- <md-author>Aalders, Gerard</md-author>
- <md-medium>book</md-medium>
- <location id="LOC Solr Test"
-    name="LOC Solr Test" checksum="584606865">
-  <md-title>Roof</md-title>
-  <md-title-remainder>de ontvreemding van joods bezit tijdens de Tweede Wereldoorlog</md-title-remainder>
-  <md-date>1999</md-date>
-  <md-author>Aalders, Gerard</md-author>
-  <md-medium>book</md-medium>
- </location>
- <count>1</count>
- <recid>content: title roof author aalders gerard medium book</recid>
-</hit>
-<hit>
- <md-title>Als ik wil kan ik duiken--</md-title>
- <md-title-remainder>brieven van Claartje van Aals, verpleegster in de joods psychiatrische inrichting Het Apeldoornsche Bosch, 1940-1943</md-title-remainder>
- <md-date>1995</md-date>
- <md-author>Aals, Claartje van</md-author>
- <md-medium>book</md-medium>
- <location id="LOC Solr Test"
-    name="LOC Solr Test" checksum="2199219334">
-  <md-title>Als ik wil kan ik duiken--</md-title>
-  <md-title-remainder>brieven van Claartje van Aals, verpleegster in de joods psychiatrische inrichting Het Apeldoornsche Bosch, 1940-1943</md-title-remainder>
-  <md-date>1995</md-date>
-  <md-author>Aals, Claartje van</md-author>
-  <md-medium>book</md-medium>
- </location>
- <count>1</count>
- <recid>content: title als ik wil kan ik duiken author aals claartje van medium book</recid>
-</hit>
-<hit>
- <md-title>Sneeuwbeeld</md-title>
- <md-date>2000</md-date>
- <md-author>Aalten, Thomas van</md-author>
- <md-medium>book</md-medium>
- <location id="LOC Solr Test"
-    name="LOC Solr Test" checksum="3813831803">
-  <md-title>Sneeuwbeeld</md-title>
-  <md-date>2000</md-date>
-  <md-author>Aalten, Thomas van</md-author>
-  <md-medium>book</md-medium>
- </location>
- <count>1</count>
- <recid>content: title sneeuwbeeld author aalten thomas van medium book</recid>
-</hit>
-<hit>
- <md-title>Murrosikä ja sukupuoli</md-title>
- <md-title-remainder>julkiset ja yksityiset ikämäärittelyt</md-title-remainder>
- <md-date>1999</md-date>
- <md-author>Aapola, Sinikka</md-author>
+ <md-title>Homeward songs by the way</md-title>
+ <md-date>1895</md-date>
+ <md-author>AE</md-author>
+ <md-description>&quot;This book ... was issued by C. Whaley, Dublin, Ireland. First edition, June, 1894; second edition, January, 1895&quot;--P. 2</md-description>
  <md-medium>book</md-medium>
  <location id="LOC Solr Test"
-    name="LOC Solr Test" checksum="1133476976">
-  <md-title>Murrosikä ja sukupuoli</md-title>
-  <md-title-remainder>julkiset ja yksityiset ikämäärittelyt</md-title-remainder>
-  <md-date>1999</md-date>
-  <md-author>Aapola, Sinikka</md-author>
+    name="LOC Solr Test" checksum="2167221470">
+  <md-title>Homeward songs by the way</md-title>
+  <md-date>1895</md-date>
+  <md-author>AE</md-author>
+  <md-description>&quot;Designs and headbands by Bruce Rogers&quot;--Colophon</md-description>
+  <md-description>&quot;Limited to 925 copies&quot;--Verso of t.p</md-description>
+  <md-description>&quot;This book ... was issued by C. Whaley, Dublin, Ireland. First edition, June, 1894; second edition, January, 1895&quot;--P. 2</md-description>
   <md-medium>book</md-medium>
  </location>
  <count>1</count>
- <recid>content: title murrosika ja sukupuoli author aapola sinikka medium book</recid>
+ <recid>content: title homeward songs by the way author ae medium book</recid>
 </hit>
 <hit>
- <md-title>Kunsten å bu i hus</md-title>
- <md-title-remainder>essay</md-title-remainder>
- <md-date>1999</md-date>
- <md-author>Aareskjold, Solveig</md-author>
+ <md-title>The divine vision, and other poems</md-title>
+ <md-date>1904</md-date>
+ <md-author>AE</md-author>
  <md-medium>book</md-medium>
  <location id="LOC Solr Test"
-    name="LOC Solr Test" checksum="2748089445">
-  <md-title>Kunsten å bu i hus</md-title>
-  <md-title-remainder>essay</md-title-remainder>
-  <md-date>1999</md-date>
-  <md-author>Aareskjold, Solveig</md-author>
-  <md-medium>book</md-medium>
- </location>
- <count>1</count>
- <recid>content: title kunsten a bu i hus author aareskjold solveig medium book</recid>
-</hit>
-<hit>
- <md-title>Raimo Pullat</md-title>
- <md-title-remainder>valikbibliograafia, 1964-2000</md-title-remainder>
- <md-date>2000</md-date>
- <md-author>Aarma, Liivi</md-author>
- <md-medium>book</md-medium>
- <location id="LOC Solr Test"
-    name="LOC Solr Test" checksum="67734618">
-  <md-title>Raimo Pullat</md-title>
-  <md-title-remainder>valikbibliograafia, 1964-2000</md-title-remainder>
-  <md-date>2000</md-date>
-  <md-author>Aarma, Liivi</md-author>
+    name="LOC Solr Test" checksum="3781833939">
+  <md-title>The divine vision, and other poems</md-title>
+  <md-date>1904</md-date>
+  <md-author>AE</md-author>
   <md-medium>book</md-medium>
  </location>
  <count>1</count>
- <recid>content: title raimo pullat author aarma liivi medium book</recid>
+ <recid>content: title the divine vision and other poems author ae medium book</recid>
 </hit>
 </show>
\ No newline at end of file
index e50db81..f8c51d4 100644 (file)
@@ -6,76 +6,6 @@
 <start>0</start>
 <num>20</num>
 <hit>
- <md-title>The children of Adam</md-title>
- <md-title-remainder>an Islamic perspective on pluralism</md-title-remainder>
- <md-date>1996</md-date>
- <md-author>ʻUthmān, Fatḥī</md-author>
- <md-medium>book</md-medium>
- <location id="LOC Solr Test"
-    name="LOC Solr Test" checksum="2167221470">
-  <md-title>The children of Adam</md-title>
-  <md-title-remainder>an Islamic perspective on pluralism</md-title-remainder>
-  <md-date>1996</md-date>
-  <md-author>ʻUthmān, Fatḥī</md-author>
-  <md-medium>book</md-medium>
- </location>
- <count>1</count>
- <recid>content: title the children of adam author uthma n fath i medium book</recid>
-</hit>
-<hit>
- <md-title>Botbāt nying-sāi nai kānphatthanā =</md-title>
- <md-title-remainder>Gender in development</md-title-remainder>
- <md-date>2000</md-date>
- <md-author>ʻUthakī Chulamanī-Khamphui</md-author>
- <md-description>&quot;Khōngkān lēkthī Lāo/96/019.&quot;</md-description>
- <md-medium>book</md-medium>
- <location id="LOC Solr Test"
-    name="LOC Solr Test" checksum="3781833939">
-  <md-title>Botbāt nying-sāi nai kānphatthanā =</md-title>
-  <md-title-remainder>Gender in development</md-title-remainder>
-  <md-date>2000</md-date>
-  <md-author>ʻUthakī Chulamanī-Khamphui</md-author>
-  <md-description>&quot;Khōngkān lēkthī Lāo/96/019.&quot;</md-description>
-  <md-medium>book</md-medium>
- </location>
- <count>1</count>
- <recid>content: title botba t nying sa i nai ka nphatthana author uthaki chulamani khamphui medium book</recid>
-</hit>
-<hit>
- <md-title>ʻĀrām lūang thī samkhan læ wat pračham ratchakān</md-title>
- <md-date>1998-2541</md-date>
- <md-author>ʻUrai Singphaibūnphō̜n</md-author>
- <md-description>Royal temples in Bangkok Thailand</md-description>
- <md-medium>book</md-medium>
- <location id="LOC Solr Test"
-    name="LOC Solr Test" checksum="1101479112">
-  <md-title>ʻĀrām lūang thī samkhan læ wat pračham ratchakān</md-title>
-  <md-date>1998-2541</md-date>
-  <md-author>ʻUrai Singphaibūnphō̜n</md-author>
-  <md-description>Royal temples in Bangkok Thailand</md-description>
-  <md-medium>book</md-medium>
- </location>
- <count>1</count>
- <recid>content: title a ra m lu ang thi samkhan l wat prac ham ratchaka n author urai singphaibu npho n medium book</recid>
-</hit>
-<hit>
- <md-title>Haẓrat ʻUmar ke sarkārī k̲h̲ut̤ūt̤</md-title>
- <md-date>1999</md-date>
- <md-author>ʻUmar ibn al-Khaṭṭāb</md-author>
- <md-description>Collection of official letters of Caliph Umar ibn al-Khattab, d. 644</md-description>
- <md-medium>book</md-medium>
- <location id="LOC Solr Test"
-    name="LOC Solr Test" checksum="2716091581">
-  <md-title>Haẓrat ʻUmar ke sarkārī k̲h̲ut̤ūt̤</md-title>
-  <md-date>1999</md-date>
-  <md-author>ʻUmar ibn al-Khaṭṭāb</md-author>
-  <md-description>Collection of official letters of Caliph Umar ibn al-Khattab, d. 644</md-description>
-  <md-medium>book</md-medium>
- </location>
- <count>1</count>
- <recid>content: title haz rat umar ke sarka ri k h ut u t author umar ibn al khat t a b medium book</recid>
-</hit>
-<hit>
  <md-title>Krayʻ krve pyakʻ ñña chī suiʹ sā</md-title>
  <md-date>2000</md-date>
  <md-author>ʼUi Mā Chamʻ</md-author>
  <recid>content: title kray krve pyak n n a chi sui sa author ui ma cham medium book</recid>
 </hit>
 <hit>
- <md-title>Kawīniphon ʻĪsān</md-title>
- <md-title-remainder>hīt sipsō̜ng khō̜ng sipsī</md-title-remainder>
- <md-date>1997-2540</md-date>
- <md-author>ʻUdom Būasī</md-author>
- <md-description>Depicts seasonal festivals and customs of Northeastern Thailand</md-description>
- <md-medium>book</md-medium>
- <location id="LOC Solr Test"
-    name="LOC Solr Test" checksum="35736754">
-  <md-title>Kawīniphon ʻĪsān</md-title>
-  <md-title-remainder>hīt sipsō̜ng khō̜ng sipsī</md-title-remainder>
-  <md-date>1997-2540</md-date>
-  <md-author>ʻUdom Būasī</md-author>
-  <md-description>Poems</md-description>
-  <md-description>Depicts seasonal festivals and customs of Northeastern Thailand</md-description>
-  <md-medium>book</md-medium>
- </location>
- <count>1</count>
- <recid>content: title kawi niphon i sa n author udom bu asi medium book</recid>
-</hit>
-<hit>
- <md-title>Kānpariwat læ sưksā wikhro̜ wannakam phư̄nbān Phāk Tai praphēt nangsư̄ but rư̄ang Pō̜ngkhrok</md-title>
- <md-date>1999-2542</md-date>
- <md-author>ʻUbonsī ʻAtthaphan</md-author>
- <md-medium>book</md-medium>
- <location id="LOC Solr Test"
-    name="LOC Solr Test" checksum="1650349223">
-  <md-title>Kānpariwat læ sưksā wikhro̜ wannakam phư̄nbān Phāk Tai praphēt nangsư̄ but rư̄ang Pō̜ngkhrok</md-title>
-  <md-date>1999-2542</md-date>
-  <md-author>ʻUbonsī ʻAtthaphan</md-author>
-  <md-medium>book</md-medium>
- </location>
- <count>1</count>
- <recid>content: title ka npariwat l s ksa wikhro wannakam ph nba n pha k tai praphe t nangs but r ang po ngkhrok author ubonsi atthaphan medium book</recid>
-</hit>
-<hit>
- <md-title>Phlēng prakō̜p kānrīan kānsō̜n Phāsā Thai</md-title>
- <md-date>1999</md-date>
- <md-author>ʻUaichai Phakāmāt</md-author>
- <md-description>&quot;Khrōngkān tamrā wichākān rātchaphat chalœ̄m phrakīat nư̄ang nai warōkāt Phrabāt Somdet Phračhaoyūhūa song čharœ̄n phrachonmāyu khrop 6 rō̜p&quot;--Cover</md-description>
- <md-medium>book</md-medium>
- <location id="LOC Solr Test"
-    name="LOC Solr Test" checksum="3264961692">
-  <md-title>Phlēng prakō̜p kānrīan kānsō̜n Phāsā Thai</md-title>
-  <md-date>1999</md-date>
-  <md-author>ʻUaichai Phakāmāt</md-author>
-  <md-description>&quot;Khrōngkān tamrā wichākān rātchaphat chalœ̄m phrakīat nư̄ang nai warōkāt Phrabāt Somdet Phračhaoyūhūa song čharœ̄n phrachonmāyu khrop 6 rō̜p&quot;--Cover</md-description>
-  <md-description>Thai language learning and teaching through language, words, and phrases from Thai songs; academic rajabhat text in honor of His Majesty King Bhumibol&apos;s 72nd birthday celebration</md-description>
-  <md-medium>book</md-medium>
- </location>
- <count>1</count>
- <recid>content: title phle ng prako p ka nri an ka nso n pha sa thai author uaichai phaka ma t medium book</recid>
-</hit>
-<hit>
  <md-title>Mranʻ māʹ ruiʺ rā ʼa khā peʺ ʼoṅʻ mhanʻ duiṅʻyārī</md-title>
  <md-date>2000</md-date>
  <md-author>ʼOṅʻ Sanʻʺ</md-author>
  <recid>content: title the writings of general aung san author on chan medium book</recid>
 </hit>
 <hit>
- <md-title>Kotmāi pā chumchon thī prachāchon tō̜ngkān læ nǣothāng kānthamngān khō̜ng Khana ʻAnukammakān Pā Chumchon, Khana Kammakān Nayōbāi Pāmai hǣng Chāt</md-title>
- <md-date>1993-2536</md-date>
- <md-author>ʻŌ̜rawan Kritbunyarit</md-author>
- <md-description>Draft of communities demanded forestry law for conservation of forests in Northern Thailand and need for local community assertion in conservation affairs</md-description>
+ <md-title>ʼItyop̣yāwiw</md-title>
+ <md-title-remainder>bamānenatu felagā!</md-title-remainder>
+ <md-date>1991-1999</md-date>
+ <md-author>ʼÉrmyās Kabada Walda ʼIyasus</md-author>
+ <md-description>On the Ethiopian in search of his identity</md-description>
  <md-medium>book</md-medium>
  <location id="LOC Solr Test"
-    name="LOC Solr Test" checksum="584606865">
-  <md-title>Kotmāi pā chumchon thī prachāchon tō̜ngkān læ nǣothāng kānthamngān khō̜ng Khana ʻAnukammakān Pā Chumchon, Khana Kammakān Nayōbāi Pāmai hǣng Chāt</md-title>
-  <md-date>1993-2536</md-date>
-  <md-author>ʻŌ̜rawan Kritbunyarit</md-author>
-  <md-description>Draft of communities demanded forestry law for conservation of forests in Northern Thailand and need for local community assertion in conservation affairs</md-description>
+    name="LOC Solr Test" checksum="1586353495">
+  <md-title>ʼItyop̣yāwiw</md-title>
+  <md-title-remainder>bamānenatu felagā!</md-title-remainder>
+  <md-date>1991-1999</md-date>
+  <md-author>ʼÉrmyās Kabada Walda ʼIyasus</md-author>
+  <md-description>On the Ethiopian in search of his identity</md-description>
   <md-medium>book</md-medium>
  </location>
  <count>1</count>
- <recid>content: title kotma i pa chumchon thi pracha chon to ngka n l n otha ng ka nthamnga n kho ng khana anukammaka n pa chumchon khana kammaka n nayo ba i pa mai h ng cha t author o rawan kritbunyarit medium book</recid>
+ <recid>content: title ityop ya wiw author e rmya s kabada walda iyasus medium book</recid>
 </hit>
 <hit>
- <md-title>ʻĀtchayākō̜n dek ?</md-title>
- <md-date>2000-2543</md-date>
- <md-author>ʻŌ̜rasom Sutthisākhō̜n</md-author>
- <md-description>&quot;Sanapsanun kānwičhai chœ̄ng sārakhadī dōi Sathāban Wičhai Rabop Sāthāranasuk.&quot;</md-description>
+ <md-title>Bezay ṣawatā ʻebyat way meʻebāl yalebon!</md-title>
+ <md-author>ʼÉdanhāmar, Kārin</md-author>
+ <md-description>&quot;Tergum, ʼAbabā Hābtom&quot;--P. 4 of cover</md-description>
  <md-medium>book</md-medium>
  <location id="LOC Solr Test"
-    name="LOC Solr Test" checksum="2199219334">
-  <md-title>ʻĀtchayākō̜n dek ?</md-title>
-  <md-date>2000-2543</md-date>
-  <md-author>ʻŌ̜rasom Sutthisākhō̜n</md-author>
-  <md-description>&quot;Sanapsanun kānwičhai chœ̄ng sārakhadī dōi Sathāban Wičhai Rabop Sāthāranasuk.&quot;</md-description>
+    name="LOC Solr Test" checksum="3200965964">
+  <md-title>Bezay ṣawatā ʻebyat way meʻebāl yalebon!</md-title>
+  <md-author>ʼÉdanhāmar, Kārin</md-author>
+  <md-description>Cover title</md-description>
+  <md-description>&quot;Tergum, ʼAbabā Hābtom&quot;--P. 4 of cover</md-description>
+  <md-description>Children&apos;s games for different age groups</md-description>
   <md-medium>book</md-medium>
  </location>
  <count>1</count>
- <recid>content: title a tchaya ko n dek author o rasom sutthisa kho n medium book</recid>
+ <recid>content: title bezay s awata ebyat way me eba l yalebon author e danha mar ka rin medium book</recid>
 </hit>
 <hit>
- <md-title>Ko̜ Rattanakōsin</md-title>
- <md-date>1999-2542</md-date>
- <md-author>ʻŌ̜nsūang Butnāk</md-author>
- <md-description>Description of Bangkok, Thailand</md-description>
+ <md-title>Bhaṇʻ mha ʼa lvayʻ ta kū khyeʺ ṅve ra yū naññʻʺ</md-title>
+ <md-date>2000</md-date>
+ <md-author>ʼEʺ Mi Khyui</md-author>
+ <md-description>On availing bank loans for doing business in Burma</md-description>
  <md-medium>book</md-medium>
  <location id="LOC Solr Test"
-    name="LOC Solr Test" checksum="1133476976">
-  <md-title>Ko̜ Rattanakōsin</md-title>
-  <md-date>1999-2542</md-date>
-  <md-author>ʻŌ̜nsūang Butnāk</md-author>
-  <md-description>Description of Bangkok, Thailand</md-description>
+    name="LOC Solr Test" checksum="520611137">
+  <md-title>Bhaṇʻ mha ʼa lvayʻ ta kū khyeʺ ṅve ra yū naññʻʺ</md-title>
+  <md-date>2000</md-date>
+  <md-author>ʼEʺ Mi Khyui</md-author>
+  <md-description>On availing bank loans for doing business in Burma</md-description>
   <md-medium>book</md-medium>
  </location>
  <count>1</count>
- <recid>content: title ko rattanako sin author o nsu ang butna k medium book</recid>
+ <recid>content: title bhan mha a lvay ta ku khye n ve ra yu nan n author e mi khyui medium book</recid>
 </hit>
 <hit>
- <md-title>Panyā sāngsan čhāk rư̄an phư̄nthin</md-title>
+ <md-title>Ḥelmen tawas&apos;on He.Wa.Ḥā.Te. kābay nābay</md-title>
+ <md-date>1999</md-date>
+ <md-author>ʼEyāsu Gabrakidān</md-author>
+ <md-description>On alleged causes of conflict between Ethiopia and Eritrea in 1998</md-description>
+ <md-medium>book</md-medium>
+ <location id="LOC Solr Test"
+    name="LOC Solr Test" checksum="2135223606">
+  <md-title>Ḥelmen tawas&apos;on He.Wa.Ḥā.Te. kābay nābay</md-title>
+  <md-date>1999</md-date>
+  <md-author>ʼEyāsu Gabrakidān</md-author>
+  <md-description>On alleged causes of conflict between Ethiopia and Eritrea in 1998</md-description>
+  <md-medium>book</md-medium>
+ </location>
+ <count>1</count>
+ <recid>content: title h elmen tawas on he wa h a te ka bay na bay author eya su gabrakida n medium book</recid>
+</hit>
+<hit>
+ <md-title>Moʻ la mruiṅʻ mruiʹ Kusināruṃ Bhu rāʺ samuiṅʻʺ</md-title>
  <md-date>2000</md-date>
- <md-author>ʻŌ̜nsiri Pānin</md-author>
- <md-description>Lecture held on September 15, 2000 at Sinlapakorn University on traditional domestic vernacular architecture in Thailand</md-description>
+ <md-author>ʼĀcāra</md-author>
+ <md-description>History and description of Kusināruṃ Bhu rāʺ, pagoda in Moulmein, Burma</md-description>
  <md-medium>book</md-medium>
  <location id="LOC Solr Test"
-    name="LOC Solr Test" checksum="67734618">
-  <md-title>Panyā sāngsan čhāk rư̄an phư̄nthin</md-title>
+    name="LOC Solr Test" checksum="3749836075">
+  <md-title>Moʻ la mruiṅʻ mruiʹ Kusināruṃ Bhu rāʺ samuiṅʻʺ</md-title>
   <md-date>2000</md-date>
-  <md-author>ʻŌ̜nsiri Pānin</md-author>
-  <md-description>&quot;15 Kanyāyon 2543.&quot;</md-description>
-  <md-description>Lecture held on September 15, 2000 at Sinlapakorn University on traditional domestic vernacular architecture in Thailand</md-description>
+  <md-author>ʼĀcāra</md-author>
+  <md-description>History and description of Kusināruṃ Bhu rāʺ, pagoda in Moulmein, Burma</md-description>
   <md-medium>book</md-medium>
  </location>
  <count>1</count>
- <recid>content: title panya sa ngsan c ha k r an ph nthin author o nsiri pa nin medium book</recid>
+ <recid>content: title mo la mruin mrui kusina rum bhu ra samuin author a ca ra medium book</recid>
 </hit>
 <hit>
- <md-title>Rư̄an phư̄nbān Thai-Mō̜n =</md-title>
- <md-title-remainder>Thai-Mon vernacular houses</md-title-remainder>
- <md-date>2000-2543</md-date>
- <md-author>ʻŌ̜nsiri Pānin</md-author>
+ <md-title>Thu chacʻ so ʼipʻ makʻ rupʻ krvaṅʻʺ ʼa kroṅʻʺ</md-title>
+ <md-date>2000</md-date>
+ <md-author>ʼAṅʻ kraṅʻʺ Mālā</md-author>
+ <md-description>Novel</md-description>
  <md-medium>book</md-medium>
  <location id="LOC Solr Test"
-    name="LOC Solr Test" checksum="1682347087">
-  <md-title>Rư̄an phư̄nbān Thai-Mō̜n =</md-title>
-  <md-title-remainder>Thai-Mon vernacular houses</md-title-remainder>
-  <md-date>2000-2543</md-date>
-  <md-author>ʻŌ̜nsiri Pānin</md-author>
+    name="LOC Solr Test" checksum="1069481248">
+  <md-title>Thu chacʻ so ʼipʻ makʻ rupʻ krvaṅʻʺ ʼa kroṅʻʺ</md-title>
+  <md-date>2000</md-date>
+  <md-author>ʼAṅʻ kraṅʻʺ Mālā</md-author>
+  <md-description>Novel</md-description>
+  <md-medium>book</md-medium>
+ </location>
+ <count>1</count>
+ <recid>content: title thu chac so ip mak rup krvan a kron author an kran ma la medium book</recid>
+</hit>
+<hit>
+ <md-title>ʼAlmašam</md-title>
+ <md-title-remainder>yageṭem madbal</md-title-remainder>
+ <md-date>1993-2001</md-date>
+ <md-author>ʼAlamṡaḥay Dasālañ</md-author>
+ <md-description>Poems</md-description>
+ <md-medium>book</md-medium>
+ <location id="LOC Solr Test"
+    name="LOC Solr Test" checksum="2684093717">
+  <md-title>ʼAlmašam</md-title>
+  <md-title-remainder>yageṭem madbal</md-title-remainder>
+  <md-date>1993-2001</md-date>
+  <md-author>ʼAlamṡaḥay Dasālañ</md-author>
+  <md-description>Poems</md-description>
+  <md-medium>book</md-medium>
+ </location>
+ <count>1</count>
+ <recid>content: title almas am author alams ah ay dasa lan medium book</recid>
+</hit>
+<hit>
+ <md-title>Yanaṣānat bāroč</md-title>
+ <md-date>2000</md-date>
+ <md-author>ʼAbél Śayfa</md-author>
+ <md-description>A novel</md-description>
+ <md-medium>book</md-medium>
+ <location id="LOC Solr Test"
+    name="LOC Solr Test" checksum="3738890">
+  <md-title>Yanaṣānat bāroč</md-title>
+  <md-date>2000</md-date>
+  <md-author>ʼAbél Śayfa</md-author>
+  <md-description>A novel</md-description>
+  <md-medium>book</md-medium>
+ </location>
+ <count>1</count>
+ <recid>content: title yanas a nat ba roc author abe l s ayfa medium book</recid>
+</hit>
+<hit>
+ <md-title>Lamnam Lānnā</md-title>
+ <md-date>1998-2541</md-date>
+ <md-author>ʻƯ̄a Manīrat</md-author>
+ <md-description>About Northern Thailand</md-description>
+ <md-medium>book</md-medium>
+ <location id="LOC Solr Test"
+    name="LOC Solr Test" checksum="1618351359">
+  <md-title>Lamnam Lānnā</md-title>
+  <md-date>1998-2541</md-date>
+  <md-author>ʻƯ̄a Manīrat</md-author>
+  <md-description>Poems</md-description>
+  <md-description>About Northern Thailand</md-description>
   <md-medium>book</md-medium>
  </location>
  <count>1</count>
- <recid>content: title r an ph nba n thai mo n author o nsiri pa nin medium book</recid>
+ <recid>content: title lamnam la nna author a mani rat medium book</recid>
+</hit>
+<hit>
+ <md-title>Lilit Khun Čhư̄ang</md-title>
+ <md-date>1999</md-date>
+ <md-author>ʻƯ̄a Manīrat</md-author>
+ <md-description>Thai fable retold in narrative poetry form</md-description>
+ <md-medium>book</md-medium>
+ <location id="LOC Solr Test"
+    name="LOC Solr Test" checksum="3232963828">
+  <md-title>Lilit Khun Čhư̄ang</md-title>
+  <md-date>1999</md-date>
+  <md-author>ʻƯ̄a Manīrat</md-author>
+  <md-description>Poem</md-description>
+  <md-description>Thai fable retold in narrative poetry form</md-description>
+  <md-medium>book</md-medium>
+ </location>
+ <count>1</count>
+ <recid>content: title lilit khun c h ang author a mani rat medium book</recid>
+</hit>
+<hit>
+ <md-title>Pannyā</md-title>
+ <md-date>2000</md-date>
+ <md-author>ʻǢngkham Sainyasuk</md-author>
+ <md-description>&quot;Nithān phư̄nmư̄ang Lāo; Lao Folktale; Chuyện côʼtićh Lào.&quot;</md-description>
+ <md-medium>book</md-medium>
+ <location id="LOC Solr Test"
+    name="LOC Solr Test" checksum="552609001">
+  <md-title>Pannyā</md-title>
+  <md-date>2000</md-date>
+  <md-author>ʻǢngkham Sainyasuk</md-author>
+  <md-description>Children story</md-description>
+  <md-description>Cover title</md-description>
+  <md-description>&quot;Nithān phư̄nmư̄ang Lāo; Lao Folktale; Chuyện côʼtićh Lào.&quot;</md-description>
+  <md-medium>book</md-medium>
+ </location>
+ <count>1</count>
+ <recid>content: title pannya author ngkham sainyasuk medium book</recid>
+</hit>
+<hit>
+ <md-title>The children of Adam</md-title>
+ <md-title-remainder>an Islamic perspective on pluralism</md-title-remainder>
+ <md-date>1996</md-date>
+ <md-author>ʻUthmān, Fatḥī</md-author>
+ <md-medium>book</md-medium>
+ <location id="LOC Solr Test"
+    name="LOC Solr Test" checksum="2167221470">
+  <md-title>The children of Adam</md-title>
+  <md-title-remainder>an Islamic perspective on pluralism</md-title-remainder>
+  <md-date>1996</md-date>
+  <md-author>ʻUthmān, Fatḥī</md-author>
+  <md-medium>book</md-medium>
+ </location>
+ <count>1</count>
+ <recid>content: title the children of adam author uthma n fath i medium book</recid>
 </hit>
 </show>
\ No newline at end of file
diff --git a/test/test_solr_39.res b/test/test_solr_39.res
new file mode 100644 (file)
index 0000000..ab63fe6
--- /dev/null
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<search><status>OK</status></search>
\ No newline at end of file
diff --git a/test/test_solr_40.res b/test/test_solr_40.res
new file mode 100644 (file)
index 0000000..e6bd092
--- /dev/null
@@ -0,0 +1,380 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<show><status>OK</status>
+<activeclients>0</activeclients>
+<merged>100</merged>
+<total>201695</total>
+<start>0</start>
+<num>20</num>
+<hit>
+ <md-title>Krayʻ krve pyakʻ ñña chī suiʹ sā</md-title>
+ <md-date>2000</md-date>
+ <md-author>ʼUi Mā Chamʻ</md-author>
+ <md-description>Novel</md-description>
+ <md-medium>book</md-medium>
+ <location id="LOC Solr Test"
+    name="LOC Solr Test" checksum="1554355631">
+  <md-title>Krayʻ krve pyakʻ ñña chī suiʹ sā</md-title>
+  <md-date>2000</md-date>
+  <md-author>ʼUi Mā Chamʻ</md-author>
+  <md-description>Novel</md-description>
+  <md-medium>book</md-medium>
+ </location>
+ <count>1</count>
+ <relevance>0</relevance>
+ <recid>content: title kray krve pyak n n a chi sui sa author ui ma cham medium book</recid>
+</hit>
+<hit>
+ <md-title>Mranʻ māʹ ruiʺ rā ʼa khā peʺ ʼoṅʻ mhanʻ duiṅʻyārī</md-title>
+ <md-date>2000</md-date>
+ <md-author>ʼOṅʻ Sanʻʺ</md-author>
+ <md-description>Almanac, 2000</md-description>
+ <md-medium>book</md-medium>
+ <location id="LOC Solr Test"
+    name="LOC Solr Test" checksum="3168968100">
+  <md-title>Mranʻ māʹ ruiʺ rā ʼa khā peʺ ʼoṅʻ mhanʻ duiṅʻyārī</md-title>
+  <md-date>2000</md-date>
+  <md-author>ʼOṅʻ Sanʻʺ</md-author>
+  <md-description>Almanac, 2000</md-description>
+  <md-medium>book</md-medium>
+ </location>
+ <count>1</count>
+ <relevance>0</relevance>
+ <recid>content: title mran ma rui ra a kha pe on mhan duin ya ri author on san medium book</recid>
+</hit>
+<hit>
+ <md-title>Peʺ chapʻ khraṅʻʺ nhaṅʻʹ ʼa khrāʺ vatthu tui myāʺ</md-title>
+ <md-date>2000</md-date>
+ <md-author>ʼOṅʻ Sanʻʺ</md-author>
+ <md-description>Short stories</md-description>
+ <md-medium>book</md-medium>
+ <location id="LOC Solr Test"
+    name="LOC Solr Test" checksum="488613273">
+  <md-title>Peʺ chapʻ khraṅʻʺ nhaṅʻʹ ʼa khrāʺ vatthu tui myāʺ</md-title>
+  <md-date>2000</md-date>
+  <md-author>ʼOṅʻ Sanʻʺ</md-author>
+  <md-description>Short stories</md-description>
+  <md-medium>book</md-medium>
+ </location>
+ <count>1</count>
+ <relevance>0</relevance>
+ <recid>content: title pe chap khran nhan a khra vatthu tui mya author on san medium book</recid>
+</hit>
+<hit>
+ <md-title>Loka krīʺ mhā dī lui pai</md-title>
+ <md-date>2000</md-date>
+ <md-author>ʼOṅʻ Koṅʻʺ</md-author>
+ <md-description>Satires</md-description>
+ <md-medium>book</md-medium>
+ <location id="LOC Solr Test"
+    name="LOC Solr Test" checksum="2103225742">
+  <md-title>Loka krīʺ mhā dī lui pai</md-title>
+  <md-date>2000</md-date>
+  <md-author>ʼOṅʻ Koṅʻʺ</md-author>
+  <md-description>Satires</md-description>
+  <md-medium>book</md-medium>
+ </location>
+ <count>1</count>
+ <relevance>0</relevance>
+ <recid>content: title loka kri mha di lui pai author on kon medium book</recid>
+</hit>
+<hit>
+ <md-title>Dutiya Mranʻ mā Nuiṅʻ ṅaṃ toʻ nhaṅʻʹ Bhu raṅʻʹ noṅʻ Kyoʻ thaṅʻ Noʻrathā</md-title>
+ <md-date>2000</md-date>
+ <md-author>ʼOṅʻ Khaṅʻ Cuiʺ</md-author>
+ <md-description>Life and times of Burmese King Bayinnaung, of Toungoo, fl. 1551-1581</md-description>
+ <md-medium>book</md-medium>
+ <location id="LOC Solr Test"
+    name="LOC Solr Test" checksum="3717838211">
+  <md-title>Dutiya Mranʻ mā Nuiṅʻ ṅaṃ toʻ nhaṅʻʹ Bhu raṅʻʹ noṅʻ Kyoʻ thaṅʻ Noʻrathā</md-title>
+  <md-date>2000</md-date>
+  <md-author>ʼOṅʻ Khaṅʻ Cuiʺ</md-author>
+  <md-description>Life and times of Burmese King Bayinnaung, of Toungoo, fl. 1551-1581</md-description>
+  <md-medium>book</md-medium>
+ </location>
+ <count>1</count>
+ <relevance>0</relevance>
+ <recid>content: title dutiya mran ma nuin n am to nhan bhu ran non kyo than no ratha author on khan cui medium book</recid>
+</hit>
+<hit>
+ <md-title>Natʻ syhaṅʻ noṅʻ nhaṅʻʹ Rājādhātukalyā =</md-title>
+ <md-title-remainder>Natshinnaung and Yaza Dartukalya</md-title-remainder>
+ <md-date>2000</md-date>
+ <md-author>ʼOṅʻ Hinʻʺ Kyoʻ</md-author>
+ <md-description>About Natʻsyhaṅʻnoṅʻ, 1577-1613, prince of Toungoo, and princess of Hanthawaddy Rājadhātukalyā, and their times</md-description>
+ <md-medium>book</md-medium>
+ <location id="LOC Solr Test"
+    name="LOC Solr Test" checksum="1037483384">
+  <md-title>Natʻ syhaṅʻ noṅʻ nhaṅʻʹ Rājādhātukalyā =</md-title>
+  <md-title-remainder>Natshinnaung and Yaza Dartukalya</md-title-remainder>
+  <md-date>2000</md-date>
+  <md-author>ʼOṅʻ Hinʻʺ Kyoʻ</md-author>
+  <md-description>Cover title</md-description>
+  <md-description>About Natʻsyhaṅʻnoṅʻ, 1577-1613, prince of Toungoo, and princess of Hanthawaddy Rājadhātukalyā, and their times</md-description>
+  <md-medium>book</md-medium>
+ </location>
+ <count>1</count>
+ <relevance>0</relevance>
+ <recid>content: title nat syhan non nhan ra ja dha tukalya author on hin kyo medium book</recid>
+</hit>
+<hit>
+ <md-title>Sanʻʺ rhacʻ chayʻ phracʻ lā khaiʹ lyhaṅʻ</md-title>
+ <md-date>2000</md-date>
+ <md-author>ʼOṅʻ Cuiʺ</md-author>
+ <md-description>&quot;1998 khu nhacʻ, Cā pe Bimānʻ cā mū chu, sutapadesā (sippaṃ nhaṅʻʹ ʼa suṃʺ khya paññā rapʻ) pathama chu.&quot;</md-description>
+ <md-medium>book</md-medium>
+ <location id="LOC Solr Test"
+    name="LOC Solr Test" checksum="2652095853">
+  <md-title>Sanʻʺ rhacʻ chayʻ phracʻ lā khaiʹ lyhaṅʻ</md-title>
+  <md-date>2000</md-date>
+  <md-author>ʼOṅʻ Cuiʺ</md-author>
+  <md-description>&quot;1998 khu nhacʻ, Cā pe Bimānʻ cā mū chu, sutapadesā (sippaṃ nhaṅʻʹ ʼa suṃʺ khya paññā rapʻ) pathama chu.&quot;</md-description>
+  <md-description>Agricultural yields in Burma</md-description>
+  <md-medium>book</md-medium>
+ </location>
+ <count>1</count>
+ <relevance>0</relevance>
+ <recid>content: title san rhac chay phrac la khai lyhan author on cui medium book</recid>
+</hit>
+<hit>
+ <md-title>The writings of General Aung San</md-title>
+ <md-date>2000</md-date>
+ <md-author>ʼOṅʻ Chanʻʺ</md-author>
+ <md-description>Writings of the statesman and leader of freedom struggle in Burma</md-description>
+ <md-medium>book</md-medium>
+ <location id="LOC Solr Test"
+    name="LOC Solr Test" checksum="4266708322">
+  <md-title>The writings of General Aung San</md-title>
+  <md-date>2000</md-date>
+  <md-author>ʼOṅʻ Chanʻʺ</md-author>
+  <md-description>Writings of the statesman and leader of freedom struggle in Burma</md-description>
+  <md-medium>book</md-medium>
+ </location>
+ <count>1</count>
+ <relevance>0</relevance>
+ <recid>content: title the writings of general aung san author on chan medium book</recid>
+</hit>
+<hit>
+ <md-title>ʼItyop̣yāwiw</md-title>
+ <md-title-remainder>bamānenatu felagā!</md-title-remainder>
+ <md-date>1991-1999</md-date>
+ <md-author>ʼÉrmyās Kabada Walda ʼIyasus</md-author>
+ <md-description>On the Ethiopian in search of his identity</md-description>
+ <md-medium>book</md-medium>
+ <location id="LOC Solr Test"
+    name="LOC Solr Test" checksum="1586353495">
+  <md-title>ʼItyop̣yāwiw</md-title>
+  <md-title-remainder>bamānenatu felagā!</md-title-remainder>
+  <md-date>1991-1999</md-date>
+  <md-author>ʼÉrmyās Kabada Walda ʼIyasus</md-author>
+  <md-description>On the Ethiopian in search of his identity</md-description>
+  <md-medium>book</md-medium>
+ </location>
+ <count>1</count>
+ <relevance>0</relevance>
+ <recid>content: title ityop ya wiw author e rmya s kabada walda iyasus medium book</recid>
+</hit>
+<hit>
+ <md-title>Bezay ṣawatā ʻebyat way meʻebāl yalebon!</md-title>
+ <md-author>ʼÉdanhāmar, Kārin</md-author>
+ <md-description>&quot;Tergum, ʼAbabā Hābtom&quot;--P. 4 of cover</md-description>
+ <md-medium>book</md-medium>
+ <location id="LOC Solr Test"
+    name="LOC Solr Test" checksum="3200965964">
+  <md-title>Bezay ṣawatā ʻebyat way meʻebāl yalebon!</md-title>
+  <md-author>ʼÉdanhāmar, Kārin</md-author>
+  <md-description>Cover title</md-description>
+  <md-description>&quot;Tergum, ʼAbabā Hābtom&quot;--P. 4 of cover</md-description>
+  <md-description>Children&apos;s games for different age groups</md-description>
+  <md-medium>book</md-medium>
+ </location>
+ <count>1</count>
+ <relevance>0</relevance>
+ <recid>content: title bezay s awata ebyat way me eba l yalebon author e danha mar ka rin medium book</recid>
+</hit>
+<hit>
+ <md-title>Bhaṇʻ mha ʼa lvayʻ ta kū khyeʺ ṅve ra yū naññʻʺ</md-title>
+ <md-date>2000</md-date>
+ <md-author>ʼEʺ Mi Khyui</md-author>
+ <md-description>On availing bank loans for doing business in Burma</md-description>
+ <md-medium>book</md-medium>
+ <location id="LOC Solr Test"
+    name="LOC Solr Test" checksum="520611137">
+  <md-title>Bhaṇʻ mha ʼa lvayʻ ta kū khyeʺ ṅve ra yū naññʻʺ</md-title>
+  <md-date>2000</md-date>
+  <md-author>ʼEʺ Mi Khyui</md-author>
+  <md-description>On availing bank loans for doing business in Burma</md-description>
+  <md-medium>book</md-medium>
+ </location>
+ <count>1</count>
+ <relevance>0</relevance>
+ <recid>content: title bhan mha a lvay ta ku khye n ve ra yu nan n author e mi khyui medium book</recid>
+</hit>
+<hit>
+ <md-title>Ḥelmen tawas&apos;on He.Wa.Ḥā.Te. kābay nābay</md-title>
+ <md-date>1999</md-date>
+ <md-author>ʼEyāsu Gabrakidān</md-author>
+ <md-description>On alleged causes of conflict between Ethiopia and Eritrea in 1998</md-description>
+ <md-medium>book</md-medium>
+ <location id="LOC Solr Test"
+    name="LOC Solr Test" checksum="2135223606">
+  <md-title>Ḥelmen tawas&apos;on He.Wa.Ḥā.Te. kābay nābay</md-title>
+  <md-date>1999</md-date>
+  <md-author>ʼEyāsu Gabrakidān</md-author>
+  <md-description>On alleged causes of conflict between Ethiopia and Eritrea in 1998</md-description>
+  <md-medium>book</md-medium>
+ </location>
+ <count>1</count>
+ <relevance>0</relevance>
+ <recid>content: title h elmen tawas on he wa h a te ka bay na bay author eya su gabrakida n medium book</recid>
+</hit>
+<hit>
+ <md-title>Moʻ la mruiṅʻ mruiʹ Kusināruṃ Bhu rāʺ samuiṅʻʺ</md-title>
+ <md-date>2000</md-date>
+ <md-author>ʼĀcāra</md-author>
+ <md-description>History and description of Kusināruṃ Bhu rāʺ, pagoda in Moulmein, Burma</md-description>
+ <md-medium>book</md-medium>
+ <location id="LOC Solr Test"
+    name="LOC Solr Test" checksum="3749836075">
+  <md-title>Moʻ la mruiṅʻ mruiʹ Kusināruṃ Bhu rāʺ samuiṅʻʺ</md-title>
+  <md-date>2000</md-date>
+  <md-author>ʼĀcāra</md-author>
+  <md-description>History and description of Kusināruṃ Bhu rāʺ, pagoda in Moulmein, Burma</md-description>
+  <md-medium>book</md-medium>
+ </location>
+ <count>1</count>
+ <relevance>0</relevance>
+ <recid>content: title mo la mruin mrui kusina rum bhu ra samuin author a ca ra medium book</recid>
+</hit>
+<hit>
+ <md-title>Thu chacʻ so ʼipʻ makʻ rupʻ krvaṅʻʺ ʼa kroṅʻʺ</md-title>
+ <md-date>2000</md-date>
+ <md-author>ʼAṅʻ kraṅʻʺ Mālā</md-author>
+ <md-description>Novel</md-description>
+ <md-medium>book</md-medium>
+ <location id="LOC Solr Test"
+    name="LOC Solr Test" checksum="1069481248">
+  <md-title>Thu chacʻ so ʼipʻ makʻ rupʻ krvaṅʻʺ ʼa kroṅʻʺ</md-title>
+  <md-date>2000</md-date>
+  <md-author>ʼAṅʻ kraṅʻʺ Mālā</md-author>
+  <md-description>Novel</md-description>
+  <md-medium>book</md-medium>
+ </location>
+ <count>1</count>
+ <relevance>0</relevance>
+ <recid>content: title thu chac so ip mak rup krvan a kron author an kran ma la medium book</recid>
+</hit>
+<hit>
+ <md-title>ʼAlmašam</md-title>
+ <md-title-remainder>yageṭem madbal</md-title-remainder>
+ <md-date>1993-2001</md-date>
+ <md-author>ʼAlamṡaḥay Dasālañ</md-author>
+ <md-description>Poems</md-description>
+ <md-medium>book</md-medium>
+ <location id="LOC Solr Test"
+    name="LOC Solr Test" checksum="2684093717">
+  <md-title>ʼAlmašam</md-title>
+  <md-title-remainder>yageṭem madbal</md-title-remainder>
+  <md-date>1993-2001</md-date>
+  <md-author>ʼAlamṡaḥay Dasālañ</md-author>
+  <md-description>Poems</md-description>
+  <md-medium>book</md-medium>
+ </location>
+ <count>1</count>
+ <relevance>0</relevance>
+ <recid>content: title almas am author alams ah ay dasa lan medium book</recid>
+</hit>
+<hit>
+ <md-title>Yanaṣānat bāroč</md-title>
+ <md-date>2000</md-date>
+ <md-author>ʼAbél Śayfa</md-author>
+ <md-description>A novel</md-description>
+ <md-medium>book</md-medium>
+ <location id="LOC Solr Test"
+    name="LOC Solr Test" checksum="3738890">
+  <md-title>Yanaṣānat bāroč</md-title>
+  <md-date>2000</md-date>
+  <md-author>ʼAbél Śayfa</md-author>
+  <md-description>A novel</md-description>
+  <md-medium>book</md-medium>
+ </location>
+ <count>1</count>
+ <relevance>0</relevance>
+ <recid>content: title yanas a nat ba roc author abe l s ayfa medium book</recid>
+</hit>
+<hit>
+ <md-title>Lamnam Lānnā</md-title>
+ <md-date>1998-2541</md-date>
+ <md-author>ʻƯ̄a Manīrat</md-author>
+ <md-description>About Northern Thailand</md-description>
+ <md-medium>book</md-medium>
+ <location id="LOC Solr Test"
+    name="LOC Solr Test" checksum="1618351359">
+  <md-title>Lamnam Lānnā</md-title>
+  <md-date>1998-2541</md-date>
+  <md-author>ʻƯ̄a Manīrat</md-author>
+  <md-description>Poems</md-description>
+  <md-description>About Northern Thailand</md-description>
+  <md-medium>book</md-medium>
+ </location>
+ <count>1</count>
+ <relevance>0</relevance>
+ <recid>content: title lamnam la nna author a mani rat medium book</recid>
+</hit>
+<hit>
+ <md-title>Lilit Khun Čhư̄ang</md-title>
+ <md-date>1999</md-date>
+ <md-author>ʻƯ̄a Manīrat</md-author>
+ <md-description>Thai fable retold in narrative poetry form</md-description>
+ <md-medium>book</md-medium>
+ <location id="LOC Solr Test"
+    name="LOC Solr Test" checksum="3232963828">
+  <md-title>Lilit Khun Čhư̄ang</md-title>
+  <md-date>1999</md-date>
+  <md-author>ʻƯ̄a Manīrat</md-author>
+  <md-description>Poem</md-description>
+  <md-description>Thai fable retold in narrative poetry form</md-description>
+  <md-medium>book</md-medium>
+ </location>
+ <count>1</count>
+ <relevance>0</relevance>
+ <recid>content: title lilit khun c h ang author a mani rat medium book</recid>
+</hit>
+<hit>
+ <md-title>Pannyā</md-title>
+ <md-date>2000</md-date>
+ <md-author>ʻǢngkham Sainyasuk</md-author>
+ <md-description>&quot;Nithān phư̄nmư̄ang Lāo; Lao Folktale; Chuyện côʼtićh Lào.&quot;</md-description>
+ <md-medium>book</md-medium>
+ <location id="LOC Solr Test"
+    name="LOC Solr Test" checksum="552609001">
+  <md-title>Pannyā</md-title>
+  <md-date>2000</md-date>
+  <md-author>ʻǢngkham Sainyasuk</md-author>
+  <md-description>Children story</md-description>
+  <md-description>Cover title</md-description>
+  <md-description>&quot;Nithān phư̄nmư̄ang Lāo; Lao Folktale; Chuyện côʼtićh Lào.&quot;</md-description>
+  <md-medium>book</md-medium>
+ </location>
+ <count>1</count>
+ <relevance>0</relevance>
+ <recid>content: title pannya author ngkham sainyasuk medium book</recid>
+</hit>
+<hit>
+ <md-title>The children of Adam</md-title>
+ <md-title-remainder>an Islamic perspective on pluralism</md-title-remainder>
+ <md-date>1996</md-date>
+ <md-author>ʻUthmān, Fatḥī</md-author>
+ <md-medium>book</md-medium>
+ <location id="LOC Solr Test"
+    name="LOC Solr Test" checksum="2167221470">
+  <md-title>The children of Adam</md-title>
+  <md-title-remainder>an Islamic perspective on pluralism</md-title-remainder>
+  <md-date>1996</md-date>
+  <md-author>ʻUthmān, Fatḥī</md-author>
+  <md-medium>book</md-medium>
+ </location>
+ <count>1</count>
+ <relevance>0</relevance>
+ <recid>content: title the children of adam author uthma n fath i medium book</recid>
+</hit>
+</show>
\ No newline at end of file
index 313fc4a..ebd361c 100644 (file)
@@ -7,4 +7,6 @@
 <records>100</records>
 <filtered>0</filtered>
 <state>Client_Idle</state>
+<query_type>pqf</query_type>
+<query_data>@attr 4=Dal @attr 1=text water </query_data>
 </target></bytarget>
\ No newline at end of file
index bccdc0d..938b9f5 100644 (file)
@@ -12,3 +12,4 @@ http://localhost:9763/search.pz2?session=2&command=init
 test_sort_settings.xml http://localhost:9763/search.pz2?session=2&command=settings
 http://localhost:9763/search.pz2?session=2&command=search&query=water
 http://localhost:9763/search.pz2?session=1&command=show&start=60&block=prefered&sort=date
+http://localhost:9763/search.pz2?session=1&command=show&start=60&block=prefered&sort=retrieval:1
diff --git a/test/test_sort_15.res b/test/test_sort_15.res
new file mode 100644 (file)
index 0000000..a369078
--- /dev/null
@@ -0,0 +1,368 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<show><status>OK</status>
+<activeclients>0</activeclients>
+<merged>195</merged>
+<total>1995</total>
+<start>60</start>
+<num>20</num>
+<hit>
+ <md-title>Potable water and methods of detecting impurities</md-title>
+ <md-date>1899-1906</md-date>
+ <md-author>Baker, M. N</md-author>
+ <md-medium>book</md-medium>
+ <location id="LOC Solr Test"
+    name="LOC Solr Test" checksum="1261468432">
+  <md-title>Potable water and methods of detecting impurities</md-title>
+  <md-date>1899</md-date>
+  <md-author>Baker, M. N</md-author>
+  <md-medium>book</md-medium>
+  <md-score>1.7851623</md-score>
+ </location>
+ <location id="LOC Solr Test"
+    name="LOC Solr Test" checksum="1810338543">
+  <md-title>Potable water and methods of detecting impurities</md-title>
+  <md-date>1906</md-date>
+  <md-author>Baker, M. N</md-author>
+  <md-medium>book</md-medium>
+  <md-score>1.7851623</md-score>
+ </location>
+ <count>2</count>
+ <recid>content: title potable water and methods of detecting impurities author baker m n medium book</recid>
+</hit>
+<hit>
+ <md-title>Water-analysis.  A handbook for water-drinkers</md-title>
+ <md-date>1882-1883</md-date>
+ <md-author>Austin, George Lowell</md-author>
+ <md-medium>book</md-medium>
+ <location id="LOC Solr Test"
+    name="LOC Solr Test" checksum="2876080901">
+  <md-title>Water-analysis.  A handbook for water-drinkers</md-title>
+  <md-date>1882-1883</md-date>
+  <md-author>Austin, George Lowell</md-author>
+  <md-medium>book</md-medium>
+  <md-score>1.7851623</md-score>
+ </location>
+ <count>1</count>
+ <recid>content: title water analysis a handbook for water drinkers author austin george lowell medium book</recid>
+</hit>
+<hit>
+ <md-title>Report in relation to the water power on the line of the James River and Kanawha Canal</md-title>
+ <md-date>1839</md-date>
+ <md-author>Ellet, Charles</md-author>
+ <md-medium>book</md-medium>
+ <location id="LOC Solr Test"
+    name="LOC Solr Test" checksum="195726074">
+  <md-title>Report in relation to the water power on the line of the James River and Kanawha Canal</md-title>
+  <md-date>1839</md-date>
+  <md-author>Ellet, Charles</md-author>
+  <md-medium>book</md-medium>
+  <md-score>1.7851623</md-score>
+ </location>
+ <count>1</count>
+ <recid>content: title report in relation to the water power on the line of the james river and kanawha canal author ellet charles medium book</recid>
+</hit>
+<hit>
+ <md-title>A treatise on water-works for conveying and distributing supplies of water;</md-title>
+ <md-title-remainder>with tables and examples</md-title-remainder>
+ <md-date>1835</md-date>
+ <md-author>Storrow, Charles S</md-author>
+ <md-medium>book</md-medium>
+ <location id="LOC Solr Test"
+    name="LOC Solr Test" checksum="3424951012">
+  <md-title>A treatise on water-works for conveying and distributing supplies of water;</md-title>
+  <md-title-remainder>with tables and examples</md-title-remainder>
+  <md-date>1835</md-date>
+  <md-author>Storrow, Charles S</md-author>
+  <md-medium>book</md-medium>
+  <md-score>1.7851623</md-score>
+ </location>
+ <count>1</count>
+ <recid>content: title a treatise on water works for conveying and distributing supplies of water author storrow charles s medium book</recid>
+</hit>
+<hit>
+ <md-title>An elementary handbook on potable water</md-title>
+ <md-date>1891</md-date>
+ <md-author>Davis, Floyd</md-author>
+ <md-medium>book</md-medium>
+ <location id="LOC Solr Test"
+    name="LOC Solr Test" checksum="744596185">
+  <md-title>An elementary handbook on potable water</md-title>
+  <md-date>1891</md-date>
+  <md-author>Davis, Floyd</md-author>
+  <md-medium>book</md-medium>
+  <md-score>1.7851623</md-score>
+ </location>
+ <count>1</count>
+ <recid>content: title an elementary handbook on potable water author davis floyd medium book</recid>
+</hit>
+<hit>
+ <md-title>Water-supply</md-title>
+ <md-title-remainder>(Considered principally from a sanitary standpoint.)</md-title-remainder>
+ <md-date>1896</md-date>
+ <md-author>Mason, William Pitt</md-author>
+ <md-medium>book</md-medium>
+ <location id="LOC Solr Test"
+    name="LOC Solr Test" checksum="2359208654">
+  <md-title>Water-supply</md-title>
+  <md-title-remainder>(Considered principally from a sanitary standpoint.)</md-title-remainder>
+  <md-date>1896</md-date>
+  <md-author>Mason, William Pitt</md-author>
+  <md-medium>book</md-medium>
+  <md-score>1.7851623</md-score>
+ </location>
+ <count>1</count>
+ <recid>content: title water supply author mason william pitt medium book</recid>
+</hit>
+<hit>
+ <md-title>Water and public health</md-title>
+ <md-title-remainder>The relative purity of waters from different sources</md-title-remainder>
+ <md-date>1897</md-date>
+ <md-author>Fuertes, James Hillhouse</md-author>
+ <md-description>Microfilmed for preservationDNLM</md-description>
+ <md-medium>book</md-medium>
+ <location id="LOC Solr Test"
+    name="LOC Solr Test" checksum="3973821123">
+  <md-title>Water and public health</md-title>
+  <md-title-remainder>The relative purity of waters from different sources</md-title-remainder>
+  <md-date>1897</md-date>
+  <md-author>Fuertes, James Hillhouse</md-author>
+  <md-description>Microfilmed for preservationDNLM</md-description>
+  <md-medium>book</md-medium>
+  <md-score>1.7851623</md-score>
+ </location>
+ <count>1</count>
+ <recid>content: title water and public health author fuertes james hillhouse medium book</recid>
+</hit>
+<hit>
+ <md-title>Water-quality assessment of part of the upper Mississippi River Basin, Minnesota and Wisconsin</md-title>
+ <md-title-remainder>design and implementation of water-quality studies, 1995-98</md-title-remainder>
+ <md-date>1999</md-date>
+ <md-description>&quot;National Water-Quality Assessment Program.&quot;</md-description>
+ <md-medium>book</md-medium>
+ <location id="LOC Solr Test"
+    name="LOC Solr Test" checksum="1293466296">
+  <md-title>Water-quality assessment of part of the upper Mississippi River Basin, Minnesota and Wisconsin</md-title>
+  <md-title-remainder>design and implementation of water-quality studies, 1995-98</md-title-remainder>
+  <md-date>1999</md-date>
+  <md-description>&quot;National Water-Quality Assessment Program.&quot;</md-description>
+  <md-medium>book</md-medium>
+  <md-score>1.7284759</md-score>
+ </location>
+ <count>1</count>
+ <recid>content: title water quality assessment of part of the upper mississippi river basin minnesota and wisconsin medium book</recid>
+</hit>
+<hit>
+ <md-title>An empirical analysis of water temperature and dissolved oxygen conditions in the Red Deer River</md-title>
+ <md-date>1997</md-date>
+ <md-author>Saffran, Karen Anita</md-author>
+ <md-description>&quot;March 1997.&quot;</md-description>
+ <md-medium>book</md-medium>
+ <location id="LOC Solr Test"
+    name="LOC Solr Test" checksum="2908078765">
+  <md-title>An empirical analysis of water temperature and dissolved oxygen conditions in the Red Deer River</md-title>
+  <md-date>1997</md-date>
+  <md-author>Saffran, Karen Anita</md-author>
+  <md-description>&quot;March 1997.&quot;</md-description>
+  <md-medium>book</md-medium>
+  <md-score>1.7284759</md-score>
+ </location>
+ <count>1</count>
+ <recid>content: title an empirical analysis of water temperature and dissolved oxygen conditions in the red deer river author saffran karen anita medium book</recid>
+</hit>
+<hit>
+ <md-title>Report of the Water Commissioners on the material best adapted for distribution water pipes</md-title>
+ <md-title-remainder>and on the most economical mode of introducing water in private houses</md-title-remainder>
+ <md-date>1848</md-date>
+ <md-description>Appendix contains reports by Eben N. Horsford and others</md-description>
+ <md-medium>book</md-medium>
+ <location id="LOC Solr Test"
+    name="LOC Solr Test" checksum="227723938">
+  <md-title>Report of the Water Commissioners on the material best adapted for distribution water pipes</md-title>
+  <md-title-remainder>and on the most economical mode of introducing water in private houses</md-title-remainder>
+  <md-date>1848</md-date>
+  <md-description>Signed: Nathan Hale, Thomas B. Curtis</md-description>
+  <md-description>Issued as City document no. 32, 1848</md-description>
+  <md-description>Appendix contains reports by Eben N. Horsford and others</md-description>
+  <md-medium>book</md-medium>
+  <md-score>1.7284759</md-score>
+ </location>
+ <count>1</count>
+ <recid>content: title report of the water commissioners on the material best adapted for distribution water pipes medium book</recid>
+</hit>
+<hit>
+ <md-title>Boundary waters canoe camping</md-title>
+ <md-date>2000</md-date>
+ <md-author>Jacobson, Cliff</md-author>
+ <md-description>Rev. ed. of: Boundary waters. 1995</md-description>
+ <md-medium>book</md-medium>
+ <location id="LOC Solr Test"
+    name="LOC Solr Test" checksum="1842336407">
+  <md-title>Boundary waters canoe camping</md-title>
+  <md-date>2000</md-date>
+  <md-author>Jacobson, Cliff</md-author>
+  <md-description>Rev. ed. of: Boundary waters. 1995</md-description>
+  <md-medium>book</md-medium>
+  <md-score>1.6871711</md-score>
+ </location>
+ <count>1</count>
+ <recid>content: title boundary waters canoe camping author jacobson cliff medium book</recid>
+</hit>
+<hit>
+ <md-title>Utah state water plan</md-title>
+ <md-title-remainder>Uintah Basin</md-title-remainder>
+ <md-date>1999</md-date>
+ <md-description>&quot;December 1999.&quot;</md-description>
+ <md-medium>book</md-medium>
+ <location id="LOC Solr Test"
+    name="LOC Solr Test" checksum="3456948876">
+  <md-title>Utah state water plan</md-title>
+  <md-title-remainder>Uintah Basin</md-title-remainder>
+  <md-date>1999</md-date>
+  <md-description>&quot;December 1999.&quot;</md-description>
+  <md-medium>book</md-medium>
+  <md-score>1.6871711</md-score>
+ </location>
+ <count>1</count>
+ <recid>content: title utah state water plan medium book</recid>
+</hit>
+<hit>
+ <md-title>Water-quality trend analysis and sampling design for the Souris River, Saskatchewan, North Dakota, and Manitoba</md-title>
+ <md-date>2000</md-date>
+ <md-author>Vecchia, Aldo V</md-author>
+ <md-medium>book</md-medium>
+ <location id="LOC Solr Test"
+    name="LOC Solr Test" checksum="776594049">
+  <md-title>Water-quality trend analysis and sampling design for the Souris River, Saskatchewan, North Dakota, and Manitoba</md-title>
+  <md-date>2000</md-date>
+  <md-author>Vecchia, Aldo V</md-author>
+  <md-medium>book</md-medium>
+  <md-score>1.6871711</md-score>
+ </location>
+ <count>1</count>
+ <recid>content: title water quality trend analysis and sampling design for the souris river saskatchewan north dakota and manitoba author vecchia aldo v medium book</recid>
+</hit>
+<hit>
+ <md-title>Sharing the good</md-title>
+ <md-title-remainder>modes of managing water resources in the lower Mekong River Basin</md-title-remainder>
+ <md-date>2000</md-date>
+ <md-author>Öjendal, Joakim</md-author>
+ <md-description>Abstract (2 p.) inserted</md-description>
+ <md-medium>book</md-medium>
+ <location id="LOC Solr Test"
+    name="LOC Solr Test" checksum="2391206518">
+  <md-title>Sharing the good</md-title>
+  <md-title-remainder>modes of managing water resources in the lower Mekong River Basin</md-title-remainder>
+  <md-date>2000</md-date>
+  <md-author>Öjendal, Joakim</md-author>
+  <md-description>&quot;March 2000.&quot;</md-description>
+  <md-description>Abstract (2 p.) inserted</md-description>
+  <md-medium>book</md-medium>
+  <md-score>1.6871711</md-score>
+ </location>
+ <count>1</count>
+ <recid>content: title sharing the good author o jendal joakim medium book</recid>
+</hit>
+<hit>
+ <md-title>Mercados e instituciones de aguas en Bolivia</md-title>
+ <md-date>1998</md-date>
+ <md-medium>book</md-medium>
+ <location id="LOC Solr Test"
+    name="LOC Solr Test" checksum="4005818987">
+  <md-title>Mercados e instituciones de aguas en Bolivia</md-title>
+  <md-date>1998</md-date>
+  <md-medium>book</md-medium>
+  <md-score>1.6871711</md-score>
+ </location>
+ <count>1</count>
+ <recid>content: title mercados e instituciones de aguas en bolivia medium book</recid>
+</hit>
+<hit>
+ <md-title>Water harvesting and supplemental irrigation for improved water use efficiency in dry areas</md-title>
+ <md-date>1999</md-date>
+ <md-author>Oweis, Theib Yousef</md-author>
+ <md-description>With reference to West Asia and North Africa</md-description>
+ <md-medium>book</md-medium>
+ <location id="LOC Solr Test"
+    name="LOC Solr Test" checksum="2940076629">
+  <md-title>Water harvesting and supplemental irrigation for improved water use efficiency in dry areas</md-title>
+  <md-date>1999</md-date>
+  <md-author>Oweis, Theib Yousef</md-author>
+  <md-description>With reference to West Asia and North Africa</md-description>
+  <md-medium>book</md-medium>
+  <md-score>1.6871711</md-score>
+ </location>
+ <count>1</count>
+ <recid>content: title water harvesting and supplemental irrigation for improved water use efficiency in dry areas author oweis theib yousef medium book</recid>
+</hit>
+<hit>
+ <md-title>Water challenge and institutional response</md-title>
+ <md-title-remainder>a cross-country perspective</md-title-remainder>
+ <md-date>1999</md-date>
+ <md-author>Saleth, R. Maria</md-author>
+ <md-medium>book</md-medium>
+ <location id="LOC Solr Test"
+    name="LOC Solr Test" checksum="259721802">
+  <md-title>Water challenge and institutional response</md-title>
+  <md-title-remainder>a cross-country perspective</md-title-remainder>
+  <md-date>1999</md-date>
+  <md-author>Saleth, R. Maria</md-author>
+  <md-medium>book</md-medium>
+  <md-score>1.6871711</md-score>
+ </location>
+ <count>1</count>
+ <recid>content: title water challenge and institutional response author saleth r maria medium book</recid>
+</hit>
+<hit>
+ <md-title>Water and its purification;</md-title>
+ <md-title-remainder>a handbook for the use of local authorities, sanitary officers, and others interested in water supply;</md-title-remainder>
+ <md-date>1902</md-date>
+ <md-author>Rideal, Samuel</md-author>
+ <md-medium>book</md-medium>
+ <location id="LOC Solr Test"
+    name="LOC Solr Test" checksum="1874334271">
+  <md-title>Water and its purification;</md-title>
+  <md-title-remainder>a handbook for the use of local authorities, sanitary officers, and others interested in water supply;</md-title-remainder>
+  <md-date>1902</md-date>
+  <md-author>Rideal, Samuel</md-author>
+  <md-medium>book</md-medium>
+  <md-score>1.6871711</md-score>
+ </location>
+ <count>1</count>
+ <recid>content: title water and its purification author rideal samuel medium book</recid>
+</hit>
+<hit>
+ <md-title>Schultz and Warker&apos;s mineral spring waters</md-title>
+ <md-title-remainder>their chemical composition, physiological action and therapeutical use; with a short review of the history of mineral waters</md-title-remainder>
+ <md-date>1865</md-date>
+ <md-author>Schultz, Carl H</md-author>
+ <md-medium>book</md-medium>
+ <location id="LOC Solr Test"
+    name="LOC Solr Test" checksum="3488946740">
+  <md-title>Schultz and Warker&apos;s mineral spring waters</md-title>
+  <md-title-remainder>their chemical composition, physiological action and therapeutical use; with a short review of the history of mineral waters</md-title-remainder>
+  <md-date>1865</md-date>
+  <md-author>Schultz, Carl H</md-author>
+  <md-medium>book</md-medium>
+  <md-score>1.6871711</md-score>
+ </location>
+ <count>1</count>
+ <recid>content: title schultz and warker s mineral spring waters author schultz carl h medium book</recid>
+</hit>
+<hit>
+ <md-title>Report of the level two study for the Nine Mile Water and Sewer District</md-title>
+ <md-date>1999</md-date>
+ <md-description>Introduction -- Service planning area -- Land use planning -- Population and water usage -- Service system -- System design -- Permits, geotechnical issues, and surveying -- Cost estimate and financial analysis -- System operating plan -- References -- Plate 1 -- Appendices A-B</md-description>
+ <md-medium>book</md-medium>
+ <location id="LOC Solr Test"
+    name="LOC Solr Test" checksum="808591913">
+  <md-title>Report of the level two study for the Nine Mile Water and Sewer District</md-title>
+  <md-date>1999</md-date>
+  <md-description>&quot;November 1, 1999.&quot;</md-description>
+  <md-description>Introduction -- Service planning area -- Land use planning -- Population and water usage -- Service system -- System design -- Permits, geotechnical issues, and surveying -- Cost estimate and financial analysis -- System operating plan -- References -- Plate 1 -- Appendices A-B</md-description>
+  <md-medium>book</md-medium>
+  <md-score>1.6423048</md-score>
+ </location>
+ <count>1</count>
+ <recid>content: title report of the level two study for the nine mile water and sewer district medium book</recid>
+</hit>
+</show>
\ No newline at end of file
index a47a5d4..888cad9 100644 (file)
@@ -7,4 +7,6 @@
 <records>200</records>
 <filtered>0</filtered>
 <state>Client_Idle</state>
+<query_type>pqf</query_type>
+<query_data>@attr 4=Dal @attr 1=text water </query_data>
 </target></bytarget>
\ No newline at end of file
index 3d39b01..034eb0c 100644 (file)
@@ -7,6 +7,8 @@
 <records>23</records>
 <filtered>0</filtered>
 <state>Client_Idle</state>
+<query_type>pqf</query_type>
+<query_data>computer </query_data>
 </target>
 <target><id>id_solr</id>
 <name>LOC (SOLR)</name>
@@ -15,4 +17,6 @@
 <records>100</records>
 <filtered>0</filtered>
 <state>Client_Idle</state>
+<query_type>pqf</query_type>
+<query_data>@attr 4=Dal @attr 1=text computer </query_data>
 </target></bytarget>
\ No newline at end of file
index 3d39b01..034eb0c 100644 (file)
@@ -7,6 +7,8 @@
 <records>23</records>
 <filtered>0</filtered>
 <state>Client_Idle</state>
+<query_type>pqf</query_type>
+<query_data>computer </query_data>
 </target>
 <target><id>id_solr</id>
 <name>LOC (SOLR)</name>
@@ -15,4 +17,6 @@
 <records>100</records>
 <filtered>0</filtered>
 <state>Client_Idle</state>
+<query_type>pqf</query_type>
+<query_data>@attr 4=Dal @attr 1=text computer </query_data>
 </target></bytarget>
\ No newline at end of file
index 9643e8a..4277135 100644 (file)
@@ -7,4 +7,6 @@
 <records>23</records>
 <filtered>0</filtered>
 <state>Client_Idle</state>
+<query_type>pqf</query_type>
+<query_data>computer </query_data>
 </target></bytarget>
\ No newline at end of file
index 2df4e9a..24ce57a 100644 (file)
@@ -7,4 +7,6 @@
 <records>3</records>
 <filtered>0</filtered>
 <state>Client_Idle</state>
+<query_type>pqf</query_type>
+<query_data>computer </query_data>
 </target></bytarget>
\ No newline at end of file
index b1f9f63..4440605 100644 (file)
@@ -5,7 +5,7 @@
 DEBUG=0   # 0 for release, 1 for debug
 USE_MANIFEST = 0 # Can be enabled Visual Studio 2005/2008
 PACKAGE_NAME=pazpar2
-PACKAGE_VERSION=1.8.6
+PACKAGE_VERSION=1.11.3
 
 # YAZ
 YAZ_DIR=..\..\yaz