X-Git-Url: http://jsfdemo.indexdata.com/?a=blobdiff_plain;f=src%2Frelevance.c;h=a365ebd91a369c6f1e4336c003e784ba47a0f6d4;hb=ddf205cd55f6992a7768ffbb561b2cf35b0aa74a;hp=87f5b24991426947a29c3bcb64809da615a89851;hpb=ed7a00b666a5ef705687a25e858b561e2b28ca5b;p=pazpar2-moved-to-github.git diff --git a/src/relevance.c b/src/relevance.c index 87f5b24..a365ebd 100644 --- a/src/relevance.c +++ b/src/relevance.c @@ -40,6 +40,7 @@ struct relevance struct word_entry { const char *norm_str; int termno; + char *ccl_field; struct word_entry *next; }; @@ -89,6 +90,7 @@ static void pull_terms(struct relevance *res, struct ccl_rpn_node *n) { char **words; int numwords; + char *ccl_field; int i; switch (n->kind) @@ -105,6 +107,8 @@ static void pull_terms(struct relevance *res, struct ccl_rpn_node *n) for (i = 0; i < numwords; i++) { const char *norm_str; + + ccl_field = nmem_strdup_null(res->nmem, n->u.t.qual); pp2_charset_token_first(res->prt, words[i], 0); while ((norm_str = pp2_charset_token_next(res->prt))) @@ -114,6 +118,7 @@ static void pull_terms(struct relevance *res, struct ccl_rpn_node *n) e = &(*e)->next; *e = nmem_malloc(res->nmem, sizeof(**e)); (*e)->norm_str = nmem_strdup(res->nmem, norm_str); + (*e)->ccl_field = ccl_field; (*e)->termno = res->vec_len++; (*e)->next = 0; }