Chris Hostetter wrote:
: select?Species=Pseudonaja+textilis&Hospital=Griffith+Base+Hospital
: : ... instead of: : : q=Species:'Pseudonaja+textilis'+Hospital:'Griffith+Base+Hospital'

Try this, i *think* it will work for you...

q=%2B_query_:"{!field+f=Species+v=$Species}"+%2B_query_="{!field+f=Hospital+v=$Hospital}"+Species=Pseudonaja+textilis&Hospital=Griffith+Base+Hospital

More details...

http://www.lucidimagination.com/blog/2009/03/31/nested-queries-in-solr/

Thanks, that was very helpful! I removed the %2B from your URI, and successfully used the following URI (broken into separate lines for readability):

  q=
     _query_:%22{!field+f=Species+v=$Species}%22+
     _query_=%22{!field+f=Hospital+v=$Hospital}%22
  &Species=Pseudonaja+textilis
  &Hospital=Griffith+Base+Hospital

Having done that, I removed the q parameter from my URL, URL-decoded it, and specified it instead in my solrconfig.xml (in /config/requestHandler/l...@name='defaults']/s...@name='q']), e.g.

<str name="q">_query_:"{!field f=Species v=$Species}" _query_="{!field f=Hospital v=$Hospital}"</str>

That way the query URLs can contain just the "Species" and "Hospital" field names as URL parameters.

This is great! Now I can have a simple HTML form as the front end of a "fielded search", with different HTML input elements for the different Solr fields, but I don't need any custom back end to parse the URL!

Cheers

Con

Reply via email to