projects
/
pazpar2-moved-to-github.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
per-field weight is part of "rank" attribute content
[pazpar2-moved-to-github.git]
/
src
/
session.c
diff --git
a/src/session.c
b/src/session.c
index
4049360
..
18ba514
100644
(file)
--- a/
src/session.c
+++ b/
src/session.c
@@
-1812,8
+1812,8
@@
static int ingest_to_cluster(struct client *cl,
struct record_metadata *rec_md = 0;
int md_field_id = -1;
int sk_field_id = -1;
struct record_metadata *rec_md = 0;
int md_field_id = -1;
int sk_field_id = -1;
- int rank = 0;
- xmlChar *rank_str = 0;
+ const char *rank;
+ xmlChar *xml_rank;
type = xmlGetProp(n, (xmlChar *) "type");
value = xmlNodeListGetString(xdoc, n->children, 1);
type = xmlGetProp(n, (xmlChar *) "type");
value = xmlNodeListGetString(xdoc, n->children, 1);
@@
-1828,15
+1828,6
@@
static int ingest_to_cluster(struct client *cl,
ser_md = &service->metadata[md_field_id];
ser_md = &service->metadata[md_field_id];
- rank_str = xmlGetProp(n, (xmlChar *) "rank");
- if (rank_str)
- {
- rank = atoi((const char *) rank_str);
- xmlFree(rank_str);
- }
- else
- rank = ser_md->rank;
-
if (ser_md->sortkey_offset >= 0)
{
sk_field_id = ser_md->sortkey_offset;
if (ser_md->sortkey_offset >= 0)
{
sk_field_id = ser_md->sortkey_offset;
@@
-1849,6
+1840,9
@@
static int ingest_to_cluster(struct client *cl,
if (!rec_md)
continue;
if (!rec_md)
continue;
+ xml_rank = xmlGetProp(n, (xmlChar *) "rank");
+ rank = xml_rank ? (const char *) xml_rank : ser_md->rank;
+
wheretoput = &cluster->metadata[md_field_id];
// and polulate with data:
wheretoput = &cluster->metadata[md_field_id];
// and polulate with data:
@@
-1937,8
+1931,7
@@
static int ingest_to_cluster(struct client *cl,
if (rank)
{
relevance_countwords(se->relevance, cluster,
if (rank)
{
relevance_countwords(se->relevance, cluster,
- (char *) value, rank, ser_md->name,
- ser_md->frank);
+ (char *) value, rank, ser_md->name);
}
// construct facets ... unless the client already has reported them
}
// construct facets ... unless the client already has reported them
@@
-1961,6
+1954,8
@@
static int ingest_to_cluster(struct client *cl,
}
// cleaning up
}
// cleaning up
+ if (xml_rank)
+ xmlFree(xml_rank);
xmlFree(type);
xmlFree(value);
type = value = 0;
xmlFree(type);
xmlFree(value);
type = value = 0;