X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;f=src%2Ftest_relevance.c;h=f5b166858fe7dcb4a2ae11b13e30bb6da360fc5e;hb=f0f51e820f69d1661b94da14424b4109c16ab7bd;hp=c903ac698a8572e722a6f877ae5e4b1dc6e17b6b;hpb=9b4b753a6833eda435f995060f5d3f515381ce11;p=pazpar2-moved-to-github.git diff --git a/src/test_relevance.c b/src/test_relevance.c index c903ac6..f5b1668 100644 --- a/src/test_relevance.c +++ b/src/test_relevance.c @@ -1,4 +1,4 @@ -/* $Id: test_relevance.c,v 1.6 2007-04-23 08:48:50 marc Exp $ +/* $Id: test_relevance.c,v 1.7 2007-04-23 12:33:00 marc Exp $ Copyright (c) 2006-2007, Index Data. This file is part of Pazpar2. @@ -70,56 +70,81 @@ void test_relevance(int argc, char **argv) rel = relevance_create(nmem, queryterms, numrecs); + YAZ_CHECK(rel); + list = reclist_create(nmem, numrecs); + YAZ_CHECK(list); + + service = conf_service_create(nmem, 4, 3); + YAZ_CHECK(service); - service = conf_service_create(nmem, 4, 1); - conf_service_add_metadata(nmem, service, 0, "title", + YAZ_CHECK(conf_service_add_metadata(nmem, service, 0, "title", Metadata_type_generic, Metadata_merge_unique, - 1, 1, 1, 0); + 1, 1, 1, 0)); - conf_service_add_metadata(nmem, service, 1, "author", + YAZ_CHECK(conf_service_add_metadata(nmem, service, 1, "author", Metadata_type_generic, Metadata_merge_longest, - 1, 1, 1, 0); + 1, 1, 1, 0)); - conf_service_add_metadata(nmem, service, 2, "isbn", + YAZ_CHECK(conf_service_add_metadata(nmem, service, 2, "isbn", Metadata_type_number, Metadata_merge_no, - 1, 1, 1, 0); + 1, 1, 1, 0)); - conf_service_add_metadata(nmem, service, 3, "year", + YAZ_CHECK(conf_service_add_metadata(nmem, service, 3, "year", Metadata_type_year, Metadata_merge_range, - 1, 1, 1, 0); + 1, 1, 1, 0)); + + YAZ_CHECK(conf_service_add_sortkey(nmem, service, 0, "relevance", + Metadata_sortkey_relevance)); + + YAZ_CHECK(conf_service_add_sortkey(nmem, service, 1, "title", + Metadata_sortkey_string)); + + YAZ_CHECK(conf_service_add_sortkey(nmem, service, 2, "year", + Metadata_sortkey_numeric)); + + // testing record things - record = record_create(nmem, 4, 1); + record = record_create(nmem, 4, 3); 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 data_text; + data_text.text = bla; - union data_types data2; - data.number.min = 2; - data.number.max = 5; + union data_types data_num; + data_num.number.min = 2; + data_num.number.max = 5; struct record_metadata * tmp_md = 0; - tmp_md = record_metadata_insert(nmem, &(record->metadata[0]), data); + tmp_md = record_metadata_insert(nmem, &(record->metadata[0]), data_text); YAZ_CHECK(tmp_md); - tmp_md = record_metadata_insert(nmem, &tmp_md, data); + tmp_md = record_metadata_insert(nmem, &tmp_md, data_text); YAZ_CHECK(tmp_md); - YAZ_CHECK(record_add_metadata_field_id(nmem, record, 3, data2)); - YAZ_CHECK(record_add_metadata_field_id(nmem, record, 3, data2)); + YAZ_CHECK(record_add_metadata_field_id(nmem, record, 3, data_num)); + YAZ_CHECK(record_add_metadata_field_id(nmem, record, 3, data_num)); + + YAZ_CHECK(record_add_metadata(nmem, record, service, "author", data_text)); + YAZ_CHECK(record_add_metadata(nmem, record, service, "author", data_text)); + + + YAZ_CHECK(record_assign_sortkey_field_id(nmem, record, 0, data_text)); + YAZ_CHECK(record_assign_sortkey_field_id(nmem, record, 1, data_text)); + YAZ_CHECK(record_assign_sortkey_field_id(nmem, record, 2, data_num)); + + YAZ_CHECK(record_assign_sortkey(nmem, record, service, "relevance", data_text)); + YAZ_CHECK(record_assign_sortkey(nmem, record, service, "title", data_text)); + YAZ_CHECK(record_assign_sortkey(nmem, record, service, "year", data_num)); + + - YAZ_CHECK(record_add_metadata(nmem, record, service, "author", data)); - YAZ_CHECK(record_add_metadata(nmem, record, service, "author", data)); // now we need to put some actual data into the record ... how ??