You can't do this with stock solr, but a generic templating ability is now in heliosearch (a fork of solr): http://heliosearch.org/solr-query-parameter-substitution/
-Yonik http://heliosearch.org - native code faceting, facet functions, sub-facets, off-heap data On Fri, Aug 15, 2014 at 5:46 AM, deepaksshettigar <deepaksshetti...@gmail.com> wrote: > > Environment :- > -------------------------------------------------- > Solr version 3.5 > Apache Web Server on Jboss AS 5.1.x > > ======================================= > Problem statement :- > -------------------------------------------------- > > I am using a singe request handler to handle dynamic scenarios. > So my UI decides at runtime which facet field (using a Dynamic field type > String) to apply. > E.g. Depending on current' logged in user's usergroup ( employee,admin, etc) > I apply the facet field as > &facet.field=platform_emp OR &facet.field=platform_admin (it needed to > designed this way due to functionality) > > How using this technique, I have many such dynamic facet fields & the Solr > Query string became too long resulting in HTTP 413(request entity too > large). > > Now, I am looking move these facet field declarations from the URL to the > Search Request Handler. > > Is there way to have local params do this for me. > > ========================================= > Workable Solution:- > ----------------------------------------------------- > I have tried local params, which works if the whole term is passed through a > Query String, > but am stuck with syntax with does not allow any concatenation of params to > a prefix. > > My Request handler looks like this - > > <requestHandler name="/browse" class="solr.SearchHandler"> > <lst name="defaults"> > <str name="echoParams">explicit</str> > <str name="defType">edismax</str> > . > . > <str name="facet.field">{!v=$role}</str> > > > If I pass &role=plaform_emp OR &role=plaform_emp, it works for me, but i > would like to move the prefix inside the handler, as I have more such facet > fields to be declared dynamically, e.g > facet.field=share_class_emp , facet.field=share_class_admin, etc > However I would like to avoid these multiple facet.field declarations > through the URL to avoid running into HTTP 413 at runtime. > > ======================================================= > > Required Possible Solution:- > --------------------------- > Is there a way to have a configuration which might look like this - > > <requestHandler name="/browse" class="solr.SearchHandler"> > <lst name="defaults"> > <str name="echoParams">explicit</str> > <str name="defType">edismax</str> > . > . > <str name="prefixPlatform">platform_</str> > <str name="prefixShareClass">share_class_</str> > <str name="facet.field">{!v=$prefixPlatform$role}</str> > <str name="facet.field">{!v=$prefixShareClass$role}</str> > > > & pass &role=emp from the URL at runtime. > > ================================ > > Another Query, is it possible to handle HTTP 413 by increasing Allowed HTTP > Request Size on Apache/Jboss > > ----------------------------------------- > > Any help will be highly appreciated. > > Regards > Deepak > > > > -- > View this message in context: > http://lucene.472066.n3.nabble.com/Syntax-unavailable-for-parameter-substitution-Solr-3-5-tp4153197.html > Sent from the Solr - User mailing list archive at Nabble.com.