Tweak rank/relevance algorithm
[pazpar2-moved-to-github.git] / src / pazpar2_config.h
index 659d6bf..42e7c03 100644 (file)
@@ -24,6 +24,7 @@ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
 
 #include <yaz/nmem.h>
 #include <yaz/mutex.h>
+#include <yaz/ccl.h>
 #include "charsets.h"
 #include "http.h"
 #include "database.h"
@@ -73,9 +74,7 @@ struct conf_metadata
     char *name;  // The field name. Output by normalization stylesheet
     int brief;   // Is this element to be returned in the brief format?
     int termlist;// Is this field to be treated as a termlist for browsing?
-    int rank;    // Rank factor. 0 means don't use this field for ranking, 
-                 // 1 is default
-                 // values >1  give additional significance to a field
+    const char *rank;
     int sortkey_offset; // -1 if it's not a sortkey, otherwise index
                         // into service/record_cluster->sortkey array
     enum conf_metadata_type type;
@@ -83,7 +82,8 @@ struct conf_metadata
     enum conf_setting_type setting; // Value is to be taken from session/db settings?
     enum conf_metadata_mergekey mergekey;
     char *facetrule;
-    char *limitmap;
+
+    char *limitmap;  // Should be expanded into service-wide default e.g. pz:limitmap:<name>=value setting
 };
 
 
@@ -109,12 +109,14 @@ struct conf_service
     int num_sortkeys;
     struct conf_sortkey *sortkeys;
     struct setting_dictionary *dictionary;
+    struct settings_array *settings;
     struct conf_service *next;
     char *id;
     NMEM nmem;
     int session_timeout;
     int z3950_session_timeout;
     int z3950_operation_timeout;
+    int rank_cluster;
 
     int ref_count;
     /* duplicated from conf_server */
@@ -122,6 +124,7 @@ struct conf_service
 
     struct service_xslt *xslt_list;
 
+    CCL_bibset ccl_bibset;
     struct database *databases;
     struct conf_server *server;
 };