bytarget includes native query PAZ-1005
authorAdam Dickmeiss <adam@indexdata.dk>
Tue, 2 Jun 2015 14:16:30 +0000 (16:16 +0200)
committerAdam Dickmeiss <adam@indexdata.dk>
Tue, 2 Jun 2015 14:16:30 +0000 (16:16 +0200)
32 files changed:
src/client.c
src/client.h
src/http_command.c
src/session.c
src/session.h
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_limit_limitmap_10.res
test/test_limit_limitmap_13.res
test/test_limit_limitmap_20.res
test/test_limit_limitmap_5.res
test/test_post_11.res
test/test_preferred.res
test/test_preferred.sh [deleted file]
test/test_preferred_10.res
test/test_preferred_15.res
test/test_preferred_5.res
test/test_settings_7.res
test/test_settings_8.res
test/test_solr_14.res
test/test_solr_19.res
test/test_solr_26.res
test/test_solr_5.res
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

index 4e36630..e25bd2d 100644 (file)
@@ -888,6 +888,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);
index 8b427a7..a7866ba 100644 (file)
@@ -116,6 +116,8 @@ 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 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 9a68a22..2862107 100644 (file)
@@ -1084,6 +1084,9 @@ static struct hitsbytarget *hitsbytarget_nb(struct session *se,
         wrbuf_rewind(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)++;
     }
index f106c48..153c6ad 100644 (file)
@@ -141,6 +141,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);
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 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 72090aa..5e7f447 100644 (file)
@@ -7,4 +7,6 @@
 <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 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
index 586b12e..e69de29 100644 (file)
@@ -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:
index 34d141b..5af687c 100644 (file)
@@ -3,16 +3,22 @@
 <target><id>connect.indexdata.com:9000/mit_opencourseware</id>
 <name>MIT OpenCourseWare</name>
 <hits>0</hits>
-<diagnostic>114</diagnostic>
-<addinfo>(backend=localhost:9003)</addinfo>
+<diagnostic>2</diagnostic>
+<message>Temporary system error</message>
+<addinfo>Error: Value &apos;No query was entered&apos; does not match regexp /.+\bdid not match any.+/ (backend=localhost:9003)</addinfo>
 <records>0</records>
+<filtered>0</filtered>
 <state>Client_Error</state>
+<query_type>pqf</query_type>
+<query_data>@attr 1=21 computer </query_data>
 </target>
 <target><id>ocs-loc.indexdata.com/solr/select</id>
 <name>LOC (SOLR)</name>
 <hits>0</hits>
-<diagnostic>503</diagnostic>
-<addinfo></addinfo>
+<diagnostic>0</diagnostic>
 <records>0</records>
-<state>Client_Error</state>
+<filtered>0</filtered>
+<state>Client_Disconnected</state>
+<query_type>pqf</query_type>
+<query_data>@attr 1=subject computer </query_data>
 </target></bytarget>
\ No newline at end of file
index 4c1b1f8..9f66842 100644 (file)
@@ -3,24 +3,32 @@
 <target><id>connect.indexdata.com:9000/mit_opencourseware</id>
 <name>MIT OpenCourseWare</name>
 <hits>0</hits>
-<diagnostic>114</diagnostic>
-<addinfo>(backend=localhost:9003)</addinfo>
+<diagnostic>2</diagnostic>
+<message>Temporary system error</message>
+<addinfo>Error: Value &apos;No query was entered&apos; does not match regexp /.+\bdid not match any.+/ (backend=localhost:9003)</addinfo>
 <records>0</records>
+<filtered>0</filtered>
 <state>Client_Error</state>
+<query_type>pqf</query_type>
+<query_data>@attr 1=21 computer </query_data>
 </target>
 <target><id>ocs-loc.indexdata.com/solr/select</id>
 <name>LOC (SOLR)</name>
 <hits>0</hits>
-<diagnostic>503</diagnostic>
-<addinfo></addinfo>
+<diagnostic>0</diagnostic>
 <records>0</records>
-<state>Client_Error</state>
+<filtered>0</filtered>
+<state>Client_Working</state>
+<query_type>pqf</query_type>
+<query_data>@attr 1=subject computer </query_data>
 </target>
 <target><id>ocs-oaister.indexdata.com/solr</id>
 <name>Oaister (SOLR)</name>
 <hits>0</hits>
-<diagnostic>503</diagnostic>
-<addinfo></addinfo>
+<diagnostic>0</diagnostic>
 <records>0</records>
-<state>Client_Error</state>
+<filtered>0</filtered>
+<state>Client_Working</state>
+<query_type>pqf</query_type>
+<query_data>@attr 1=subject computer </query_data>
 </target></bytarget>
\ No newline at end of file
index 44afb3f..def3cea 100644 (file)
@@ -3,8 +3,12 @@
 <target><id>connect.indexdata.com:9000/mit_opencourseware</id>
 <name>MIT OpenCourseWare</name>
 <hits>0</hits>
-<diagnostic>114</diagnostic>
-<addinfo>(backend=localhost:9003)</addinfo>
+<diagnostic>2</diagnostic>
+<message>Temporary system error</message>
+<addinfo>Error: Value &apos;No query was entered&apos; does not match regexp /.+\bdid not match any.+/ (backend=localhost:9003)</addinfo>
 <records>0</records>
+<filtered>0</filtered>
 <state>Client_Error</state>
+<query_type>pqf</query_type>
+<query_data>@attr 1=21 computer </query_data>
 </target></bytarget>
\ 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 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 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 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