-/* $Id: test_relevance.c,v 1.2 2007-04-17 13:30:24 marc Exp $
+/* $Id: test_relevance.c,v 1.5 2007-04-20 14:37:17 marc Exp $
Copyright (c) 2006-2007, Index Data.
This file is part of Pazpar2.
//#include "pazpar2.h"
+#include "config.h"
#include "relevance.h"
-
-
-
-
-
-
+#include "record.h"
+#include "pazpar2.h"
void test_relevance(int argc, char **argv)
{"abe", "fisk", 0};
// {"ål", "økologi", "æble", 0};
- struct record_cluster *cluster = 0;
- struct conf_service service;
+ //struct record_cluster *cluster = 0;
+ struct conf_service *service = 0;
struct reclist *list = 0;
struct record *record = 0;
- const char *mergekey = "amergekey";
- int total = 0;
+ //const char *mergekey = "amergekey";
+ //int total = 0;
struct relevance *rel = 0;
+ struct client *client = 0;
+
rel = relevance_create(nmem, queryterms, numrecs);
list = reclist_create(nmem, numrecs);
- // setting up service - sic!
- // this should have been done by a nice service_create function !!!
-
- service.num_metadata = 1;
- service.metadata = 0;
- service.num_sortkeys = 0;
- service.sortkeys = 0;
- if (service.num_metadata)
- service.metadata
- = nmem_malloc(nmem,
- sizeof(struct conf_metadata) * service.num_metadata);
- else
- service.metadata = 0;
- service.metadata->name = nmem_strdup(nmem, "aname");
- //service.metadata->brief = 1;
- //service.metadata->termlist = 1;
- //service.metadata->rank = 1;
- //service.metadata->type = Metadata_type_generic;
- //service.metadata->type = Metadata_type_year;
- //service.metadata->merge = Metadata_merge_no;
- //service.metadata->merge = Metadata_merge_unique;
- //service.metadata->merge = Metadata_merge_longest;
- //service.metadata->merge = Metadata_merge_range;
- //service.metadata->merge = Metadata_merge_all;
-
-
- if (service.num_sortkeys)
- service.sortkeys
- = nmem_malloc(nmem,
- sizeof(struct conf_sortkey) * service.num_sortkeys);
- else
- service.sortkeys = 0;
- // service.sortkeys.type = Metadata_sortkey_numeric;
- // service.sortkeys.type = Metadata_sortkey_skiparticle;
- // service.sortkeys.name = service.metadata->name;
- //service.metadata->sortkey_offset = sk_node;
-
-
-
- // preparing one record
- // this should have been done by a nice record_create function
- // why the heck does the record know which client it belongs to ??
-
- record = nmem_malloc(nmem, sizeof(struct record));
- record->next = 0;
- // which client should I use for record->client = cl; ??
- record->client = 0;
- // and which sortkeys data_types list should I use ??
- record->sortkeys = 0;
- record->metadata
- = nmem_malloc(nmem,
- sizeof(struct record_metadata*) * service.num_metadata);
- memset(record->metadata, 0,
- sizeof(struct record_metadata*) * service.num_metadata);
+ service = conf_service_create(nmem, 4, 1);
+ conf_service_add_metadata(nmem, service, 0, "title",
+ Metadata_type_generic, Metadata_merge_unique,
+ 1, 1, 1, 0);
+
+ conf_service_add_metadata(nmem, service, 1, "author",
+ Metadata_type_generic, Metadata_merge_longest,
+ 1, 1, 1, 0);
+
+ conf_service_add_metadata(nmem, service, 2, "isbn",
+ Metadata_type_number, Metadata_merge_no,
+ 1, 1, 1, 0);
+
+ conf_service_add_metadata(nmem, service, 3, "year",
+ Metadata_type_year, Metadata_merge_range,
+ 1, 1, 1, 0);
+
+
+ // testing record things
+ record = record_create(nmem, 4, 1);
+ YAZ_CHECK(record);
+
+ // why on earth do we have a client dangeling from the record ??
+ record->client = client;
+
+ //union data_types data;
+ //data.text = "sometext";
+
+ char * bla = "blabla";
+ union data_types data;
+ data.text = bla;
+
+
+ union data_types data2;
+ data.number.min = 2;
+ data.number.max = 5;
+
+ record_add_metadata_fieldno(nmem, record, 0, data);
+ record_add_metadata_fieldno(nmem, record, 0, data2);
+
+ //record_add_metadata_text(nmem, record, 0, bla);
// now we need to put some actual data into the record ... how ??
//normalize_mergekey((char *) mergekey_norm, 0);
+#if 0
// insert one record into recordlist/cluster - what's a cluster, exactly??
- cluster = reclist_insert(list, &service, record, (char *)mergekey, &total);
-
-
+ cluster = reclist_insert(list, service, record, (char *)mergekey, &total);
relevance_newrec(rel, cluster);
-
+#endif
//relevance_donerecord(rel, cluster);
// relevance_countwords(se->rel, cluster,
- // (char *) value, service.metadata->rank);
+ // (char *) value, service->metadata->rank);
//
nmem_destroy(nmem);
- YAZ_CHECK(0 == 0);
- YAZ_CHECK_EQ(0, 1);
-
+ //YAZ_CHECK(0 == 0);
+ //YAZ_CHECK_EQ(0, 1);
}