Sort by retrieval PAZ-1006
authorAdam Dickmeiss <adam@indexdata.dk>
Tue, 16 Jun 2015 10:42:14 +0000 (12:42 +0200)
committerAdam Dickmeiss <adam@indexdata.dk>
Tue, 16 Jun 2015 10:42:14 +0000 (12:42 +0200)
doc/pazpar2_protocol.xml
src/pazpar2_config.c
src/pazpar2_config.h
src/reclists.c
src/record.c
src/record.h
src/session.c
test/test_sort.urls
test/test_sort_15.res [new file with mode: 0644]

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 e23c740..39aff41 100644 (file)
@@ -1083,6 +1083,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 83d7314..5339e6c 100644 (file)
@@ -38,6 +38,7 @@ enum conf_metadata_type {
     Metadata_type_skiparticle,
     Metadata_type_relevance,
     Metadata_type_position,
+    Metadata_type_retrieval,
 };
 
 enum conf_metadata_merge {
index 5afd057..245d061 100644 (file)
@@ -123,6 +123,10 @@ struct reclist_sortparms *reclist_parse_sortparms(NMEM nmem, const char *parms,
             {
                 type = Metadata_type_position;
             }
+            else if (!strcmp(parm, "retrieval"))
+            {
+                type = Metadata_type_retrieval;
+            }
             else
             {
                 for (i = 0; i < service->num_sortkeys; i++)
@@ -234,6 +238,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 +448,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 0f1f249..95c470e 100644 (file)
@@ -94,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 2862107..e67cd10 100644 (file)
@@ -1547,6 +1547,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;
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