X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;f=src%2Fsolr.c;h=0db149b602c5a42954e024b28c9eeb440443769c;hb=56b8a45139df91927f39fe1629c4483a1700f331;hp=a8e8cd8f416d491797cbf5bef27968cb2fd4246b;hpb=9fc22b417210e4c3fa2c8bf3b005cbf74f3c4c03;p=yaz-moved-to-github.git diff --git a/src/solr.c b/src/solr.c index a8e8cd8..0db149b 100644 --- a/src/solr.c +++ b/src/solr.c @@ -475,6 +475,7 @@ int yaz_solr_encode_request(Z_HTTP_Request *hreq, Z_SRW_PDU *srw_pdu, char *cp; const char *path_args = 0; int i = 0; + int defType_set = 0; int no_parms = 20; /* safe upper limit of args without extra_args */ Z_SRW_extra_arg *ea; @@ -492,6 +493,8 @@ int yaz_solr_encode_request(Z_HTTP_Request *hreq, Z_SRW_PDU *srw_pdu, for (ea = srw_pdu->extra_args; ea; ea = ea->next) { name[i] = ea->name; + if (!strcmp(ea->name, "defType")) + defType_set = 1; value[i] = ea->value; i++; } @@ -504,7 +507,9 @@ int yaz_solr_encode_request(Z_HTTP_Request *hreq, Z_SRW_PDU *srw_pdu, solr_op = "select"; if (!srw_pdu->u.request->query) return -1; - yaz_add_name_value_str(encode, name, value, &i, "defType", "lucene"); + if (!defType_set) + yaz_add_name_value_str(encode, name, value, &i, "defType", + "lucene"); yaz_add_name_value_str(encode, name, value, &i, "q", request->query); if (srw_pdu->u.request->startRecord) {