You've got Parameter Substitution: https://cwiki.apache.org/confluence/display/solr/Parameter+Substitution
I think this should do the trick. Perhaps combined with switch query parser as https://cwiki.apache.org/confluence/display/solr/Other+Parsers#OtherParsers-SwitchQueryParser (like in an example here: https://gist.github.com/arafalov/5e04884e5aefaf46678c ) Regards, Alex. ---- Newsletter and resources for Solr beginners and intermediates: http://www.solr-start.com/ On 2 October 2016 at 23:19, Mark Robinson <[email protected]> wrote: > Thanks Alex for the reply. > > Yes. in this context I want to determine the weather of the country passed > from browser which will go into another function query. > > If I do the above directly from the browser it works great. I am trying to > move this to the requesthandler so that I need to pass only the country > name which is what varies. > If all parameters in the browser itself:- > &country=USA&climate=if (weatherDetermine, weather_${country}, > defaultField). > > Basically I am trying to configure most of my params in request handler so > that I need to pass only one param that actually varies, reducing my query > url length. > > So baseically was trying to find out *how I can access a parameter passed > from the browser in a request handler to determine on a field dynamically > using the info passed from browser.* > > Thanks! > Mark > > > On Sun, Oct 2, 2016 at 11:46 AM, Alexandre Rafalovitch <[email protected]> > wrote: > >> The variable substitution in the solrconfig.xml happens when that file >> is loaded, right at the start of core initialization. Your request >> variable comes much later. I don't think you can expand it this way. >> >> Could you explain a bit more what you are trying to achieve in >> business terms. E.g. 'weather' term needs to feed into something else >> in query I am guessing. >> >> Regards, >> Alex. >> ---- >> Newsletter and resources for Solr beginners and intermediates: >> http://www.solr-start.com/ >> >> >> On 2 October 2016 at 22:29, Mark Robinson <[email protected]> wrote: >> > Hi, >> > >> > I pass a parameter *&country=USA* from the browser as part of my query. >> > (I have fields *weather_USA*, *weather_UK* etc... in my document). >> > How do I retrieve the parameter "country" in my requesthandler. >> > >> > I tried in my requesthandler:- >> > >> > <lst name="defaults"> >> > <str name="country">storeId</str> >> > <str name="weather">weather_${country}</str> >> > >> > ...but it is not working. Even tried:- >> > <str name="weather">weather_$country</str> >> > >> > I am trying to set my weather field based on the *country >> *passed. >> > >> > Any suggestionsis is highly appreciated. >> > >> > Thanks! >> > Mark >>
