[ 
https://issues.apache.org/jira/browse/SOLR-6365?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Erick Erickson updated SOLR-6365:
---------------------------------
    Attachment: SOLR-6365-crappy-test.patch

Is this really unresolved at this point? Assuming so, I'll make the comments 
here but perhaps we should open a new JIRA instead.

On a trunk build with the stock Solr example I see
  <initParams path="/update/**,/query,/select,/tvrh,/elevate,/spell,/browse">
    <lst name="defaults">
      <str name="df">text</str>
    </lst>
  </initParams>

I changed the df param in my /select requestHandler to:
     <lst name="defaults">
       <str name="df">name</str>
     </lst>

Then when I just issue ....collection1/select?q=whatever it parses to 
q=text:whatever rather than q=name:whatever, which is quite surprising.

Is this the intended behavior? Or should defaults in the requestHandler 
override the initParams?

Either way we need to do something. Either it's a bug in the current 
implementation and the defaults section of the individual handler should 
override the initParams or we should remove the defaults from all the request 
handlers in the sample solrconfig.xml. The current behavior is disconcerting to 
someone who hasn't followed this JIRA closely, i.e. almost all of our users.

If we remove the defaults section from the request handlers in solrconfig.xml, 
I think it would be best to make an explicit reference to initParams, we need 
to give users some clue what's going on here. This assumes that the notion of 
being able to call out initParams by ID didn't fall by the wayside.

But this will make the vexing problem with, say, people who remove the "text" 
field from schema.xml and then can't load cores soooo much easier to fix. 
Rather than finding all the places that the text field is referenced in 
solrconfig.xml and change them to something that _is_ in the schema, there'll 
be just one place to change......

I've attached a test case for the trunk illustrating. I labeled it 
totally-crappy because it should NOT be used verbatim, it's a miserable hack to 
illustrate. I changed solrconfig-minimal.xml and schema-tiny.xml and have NOT 
re-run all tests with those changes and I fully expect those changes will break 
something.

> specify  appends, defaults, invariants outside of the component
> ---------------------------------------------------------------
>
>                 Key: SOLR-6365
>                 URL: https://issues.apache.org/jira/browse/SOLR-6365
>             Project: Solr
>          Issue Type: Improvement
>            Reporter: Noble Paul
>            Assignee: Noble Paul
>             Fix For: 5.0, Trunk
>
>         Attachments: SOLR-6365-crappy-test.patch, SOLR-6365.patch, 
> SOLR-6365.patch
>
>
> The components are configured in solrconfig.xml mostly for specifying these 
> extra parameters. If we separate these out, we can avoid specifying the 
> components altogether and make solrconfig much simpler. Eventually we want 
> users to see all functions as paths instead of components and control these 
> params from outside , through an API and persisted in ZK
> objectives :
> * define standard components implicitly and let users override some params 
> only
> * reuse standard params across components
> * define multiple param sets and mix and match these params at request time
> example
> {code:xml}
> <!-- use json for all paths and _txt as the default search field-->
> <initParams name="global" path="/**">
>   <lst name="defaults">
>      <str name="wt">json</str>
>      <str name="df">_txt</str>
>   </lst>
> </initParams>
> {code}
> other examples
> {code:xml}
> <initParams name="a" path="/dump3,/root/*,/root1/**">
>     <lst name="defaults">
>       <str name="a">A</str>
>     </lst>
>     <lst name="invariants">
>       <str name="b">B</str>
>     </lst>
>     <lst name="appends">
>       <str name="c">C</str>
>     </lst>
>   </initParams>
>   <requestHandler name="/dump3" class="DumpRequestHandler"/>
>   <requestHandler name="/dump4" class="DumpRequestHandler"/>
>   <requestHandler name="/root/dump5" class="DumpRequestHandler"/>
>   <requestHandler name="/root1/anotherlevel/dump6" 
> class="DumpRequestHandler"/>
>   <requestHandler name="/dump1" class="DumpRequestHandler" initParams="a"/>
>   <requestHandler name="/dump2" class="DumpRequestHandler" initParams="a">
>     <lst name="defaults">
>       <str name="a">A1</str>
>     </lst>
>     <lst name="invariants">
>       <str name="b">B1</str>
>     </lst>
>     <lst name="appends">
>       <str name="c">C1</str>
>     </lst>
>   </requestHandler>
> {code}
>  



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to