fl=$b tells me it works. Or I can do a sort=$b asc The idea is to calculate a score but only include geo if it is not a national search. Do we want to send in a parameter into the QT which allows us to omit geo from national searches....
Bill Bell Sent from mobile > On Nov 11, 2015, at 1:15 AM, Upayavira <u...@odoko.co.uk> wrote: > > I concur with Jan - what does b= do? > > Also asking, how did you identify that it worked? > > Upayavira > >> On Wed, Nov 11, 2015, at 02:58 AM, William Bell wrote: >> I was able to get it to work kinda with a map(). >> >> http://localhost:8983/solr/select?q=*:*&radius=1&b= >> <http://localhost:8983/solr/select?q=*:*&radius=national&b=if(equals($radius,%27national%27),0,geodist())> >> map($radius,1,1,0,geodist()) >> >> Where 1= National >> >> Do you have an example of a SearchComponent? It would be pretty easy to >> copy map() and develop an equals() right? >> >> if(equals($radius, 'national'), 0, geodist()) >> >> This would probably be useful for everyone. >> >> On Tue, Nov 10, 2015 at 4:05 PM, Jan Høydahl <jan....@cominvent.com> >> wrote: >> >>> Where is your “b” parameter used? I think that instead of trying to set a >>> new “b” http param (which solr will not evaluate as a function), you should >>> instead try to insert your function or switch qParser directly where the >>> “b” param is used, e.g. in a bq or similar. >>> >>> A bit heavy weight, but you could of course write a custom SearchComponent >>> to construct your “b” parameter... >>> >>> -- >>> Jan Høydahl, search solution architect >>> Cominvent AS - www.cominvent.com >>> >>>> 10. nov. 2015 kl. 23.52 skrev William Bell <billnb...@gmail.com>: >>>> >>>> We are trying to look at a value, and change another value based on that. >>>> >>>> For example, for national search we want to pass in radius=national, and >>>> then set another variable equal to 0, else set the other variable = to >>>> geodist() calculation. >>>> >>>> We tried {!switch} but this only appears to work on fq/q. There is no >>>> function for constants for equals.... >>> http://localhost:8983/solr/select?q=*:*&radius=national&b=if(equals($radius,'national'),0,geodist()) >>>> >>>> This does not work: >>>> >>>> http://localhost:8983/solr/select?q=*:*&radius=national&b={!switch >>>> case.national=0 default=geodist() v=$radius} >>>> >>>> Ideas? >>>> >>>> >>>> >>>> -- >>>> Bill Bell >>>> billnb...@gmail.com >>>> cell 720-256-8076 >> >> >> -- >> Bill Bell >> billnb...@gmail.com >> cell 720-256-8076