Thanks for your reply.. If that is the case, I need to do as follows, "+text:" + URLEncoder.encode("test", "UTF-8") +URLEncoder.encode(" ", "UTF-8")+"+site_id"+URLEncoder.encode(xxxxxx, "UTF-8") Do I need to encode the space between two search field also? It is difficult for me to do like this because I am having many search fields and forming the query string dynamically. Is there any other way I can do this? or else I will follow this then.
_____ From: Avlesh Singh [mailto:avl...@gmail.com] Sent: Tuesday, June 16, 2009 8:38 PM To: solr-user@lucene.apache.org; cra...@ceiindia.com Subject: Re: Query parameter encode issue qryString = "+text:test +site_id:(4 ) +publishDate:[2008-05-01T00\:00\:00Z TO 2009-06-30T00\:00\:00Z]"; URLEncoder.encode(qryString, "UTF-8"); You don't have to encode the complete query string parameter. You just need encode the values for individual query paramters. So it should be more like qryString = "+text:" + URLEncoder.encode("test", "UTF-8") ... and so on. Cheers Avlesh On Tue, Jun 16, 2009 at 8:20 PM, Radha C. <cra...@ceiindia.com> wrote: Hello list, I am having the following query, q=+text:test +site_id:(4 ) +publishDate:[2008-05-01T00\:00\:00Z TO 2009-06-30T00\:00\:00Z] If I try this query in the browser directly , it is working fine and the url is encoded automatically in the browser when I enter as follows http://localhost:8983/solr/TeamSite/select?q=+text:test%20+site_id:(4%20)%20 <http://localhost:8983/solr/TeamSite/select?q=+text:test%20+site_id:%284%20% 29%20%0A+publishDate:%5B2008-05-01T00> +publishDate:[2008-05-01T00\:00\:00Z%20TO%202009-06-30T00\:00\:00Z] In my developed solr client, I am using the following code to encode, qryString = "+text:test +site_id:(4 ) +publishDate:[2008-05-01T00\:00\:00Z TO 2009-06-30T00\:00\:00Z]"; URLEncoder.encode(qryString, "UTF-8"); and the encoded url is like this, http://localhost:8983/solr/TeamSite/select?q=%2Btext%3Atest+%2Bsite_id%3A%28 <http://localhost:8983/solr/TeamSite/select?q=%2Btext%3Atest+%2Bsite_id%3A%2 8%0A4+%29+%2BpublishDate%3A%5B2008-05-01T00%5C%3A00%5C%3A00Z+TO+2009-06-30T0 0%5C%0A%3A00%5C%3A00Z%5D> 4+%29+%2BpublishDate%3A%5B2008-05-01T00%5C%3A00%5C%3A00Z+TO+2009-06-30T00%5C %3A00%5C%3A00Z%5D I am just encoding the parameter value ( +text:test +site_id:(4 ) +publishDate:[2008-05-01T00\:00\:00Z TO 2009-06-30T00\:00\:00Z] ) and not parameter name ( q=). Can anyone please tell me what mistake I have done here?