X-Git-Url: http://lists.indexdata.com/cgi-bin?a=blobdiff_plain;f=src%2Ffilter_zoom.cpp;h=2d65d7d1f5cc4b6251d35f58bcb1c574cf323ff9;hb=1be1a231bf51e92d9dd443282f9666ab7a0b4ca7;hp=b9567e6ea56590513a092c2779a75ed7b60cd9d6;hpb=6c53f69359d38fb81ed546c97e558c42826706b6;p=metaproxy-moved-to-github.git diff --git a/src/filter_zoom.cpp b/src/filter_zoom.cpp index b9567e6..2d65d7d 100644 --- a/src/filter_zoom.cpp +++ b/src/filter_zoom.cpp @@ -426,14 +426,23 @@ void yf::Zoom::Backend::search(ZOOM_query q, Odr_int *hits, ae->value.complex->semanticAction = 0; int num_terms = ZOOM_facet_field_term_count(ff); - fl->elements[i] = facet_field_create(odr, al, num_terms); + fl->elements[i] = (Z_FacetField *) + odr_malloc(odr, sizeof(Z_FacetField)); + fl->elements[i]->attributes = al; + fl->elements[i]->num_terms = num_terms; + fl->elements[i]->terms = (Z_FacetTerm **) + odr_malloc(odr, num_terms * sizeof(Z_FacetTerm *)); int j; for (j = 0; j < num_terms; j++) { int freq; const char *a_term = ZOOM_facet_field_get_term(ff, j, &freq); - fl->elements[i]->terms[j] = - facet_term_create_cstr(odr, a_term, freq); + Z_FacetTerm *ft = (Z_FacetTerm *) odr_malloc(odr, sizeof(*ft)); + ft->term = z_Term_create(odr, Z_Term_general, a_term, + strlen(a_term)); + ft->count = odr_intdup(odr, freq); + + fl->elements[i]->terms[j] = ft; } } fl->num = i;