: http://localhost:8983/solr/collection1/select?q=ipod : belkin&wt=xml&debugQuery=true&q.op=AND&defType=edismax&bf=map(query($qq),0,0,0,100.0)&qq={!edismax}power : : The error is : : org.apache.solr.search.SyntaxError: Infinite Recursion detected parsing query : 'power' : : And the stacktrace : : : ERROR - 2014-01-06 18:27:02.275; org.apache.solr.common.SolrException; : org.apache.solr.common.SolrException: org.apache.solr.search.SyntaxError: : Infinite Recursion detected parsing query 'power'
your "qq" param uses the edismax parser which goes looking for a "bf" - since there is no local bf param, it finds the global one -- which recursively refers to the "qq" param again. Hence the infinite recursion. You either need to override the bf param locally in your qq param, or restructure your query slightly so the bf is not global Perhaps something like this... qq=ipod belkin q={!query defType=edismax bf=$boostFunc v=$qq} boostFunc=map(query($boostQuery),0,0,0,100.0) boostQuery={!edismax}power having said that however: instead of using "bf" you should probably consider using the "boost" parser -- it's a multiplicitive boost instead of an additive boost, and (in my opinion) makes the flow/params easier to understand... https://cwiki.apache.org/confluence/display/solr/Other+Parsers#OtherParsers-BoostQueryParser qq=ipod belkin q={!boost defType=edismax b=$boostFunc v=$qq} boostFunc=map(query($boostQuery),0,0,0,100.0) boostQuery={!edismax}power -Hoss http://www.lucidworks.com/