Hi Hoss I changed my code to use the AppendedSolrParams and it worked perfectly.
I'm opening a bug today with my simple test case. Tank you very much for your help Regards Nestor On Tue, Dec 15, 2009 at 6:39 PM, Chris Hostetter <hossman_luc...@fucit.org> wrote: > > : Ej.: "q=something field:value" becomes "q=something value&fq=field:value" > : > : To do this, in the createParser method, I apply a regular expression > : to the qstr param to obtain the fq part, and then I do the following: > : > : NamedList<Object> paramsList = params.toNamedList(); > : paramsList.add(CommonParams.FQ, generatedFilterQuery); > : params = SolrParams.toSolrParams(paramsList); > : req.setParams(params); > ... > : SolrParams.toNameList() was saving the array correctly, but the method > : SolrParams.toSolrParams(NamedList) was doing: > : "params.getVal(i).toString()". So, it always loses the array. > > I'm having trouble thinking through exactly where the problem is being > introduced here ... ultimately what it comes down to is that the NamedList > souldn't be containing a String[] ... it should be containing multiple > string values with the same name ("fq") > > It would be good to make sure all of these methods play nicely with one > another so some round trip conversions worked as expected -- so if you > could open a bug for this with a simple example test case that would be > great, ...but... > > for your purposes, i would skip the NamedList conversion alltogether, > and just use AppendedSolrParams... > > MapSolrParams myNewParams = new MapSolrParams(); > myNewParams.getMap().put("fq", generatedFileterQuery); > myNewParams.getMap().put("q", generatedQueryString); > req.setParams(new AppendedSolrParams(myNewParams, originalPrams)); > > -Hoss > >