[ 
https://issues.apache.org/jira/browse/SOLR-11501?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16217034#comment-16217034
 ] 

Yonik Seeley commented on SOLR-11501:
-------------------------------------

I think it would be useful for people to be able to control this even for the 
lucene qparser.
Something to consider... what about a specification of what parsers are 
allowed/disallowed?

{code}{!lucene qparsers=query,func,join}...
{!lucene qparsers=*,-join,-graph}...
{!lucene qparsers=}... // no sub-qparsers allowed
{code}

We could even make this do double-duty... be able to turn off lucene parser 
builtins as well (fuzzy queries, etc?)

For dismax, it seems like bug this ever parsed/used local params, the escaping 
should be enhanced so this doesn't happen.
Both dismax and edismax need to not throw exceptions when encountering 
localParams as well.

As far as this patch... I don't know at this point in time.  It's hard to 
figure out what might break or what behavior is undesirable.  Need to look at 
all of the places that use a defType other than lucene and func.
Why not do it the other way: disable for dismax, optionally disable for 
extended.  That would seem to make it much easier to reason about.


> Depending on the parser, QParser should not parse local-params
> --------------------------------------------------------------
>
>                 Key: SOLR-11501
>                 URL: https://issues.apache.org/jira/browse/SOLR-11501
>             Project: Solr
>          Issue Type: Improvement
>      Security Level: Public(Default Security Level. Issues are Public) 
>          Components: query parsers
>            Reporter: David Smiley
>            Assignee: David Smiley
>         Attachments: SOLR_11501_limit_local_params_parsing.patch
>
>
> Solr should not parse local-params (and thus be able to switch the query 
> parser) in certain circumstances.  _Perhaps_ it is when the QParser.getParser 
> is passed "lucene" for the {{defaultParser}}?  This particular approach is 
> just a straw-man; I suspect certain valid embedded queries could no longer 
> work if this is done incorrectly.  Whatever the solution, I don't think we 
> should assume 'q' is special, as it's valid and useful to build up queries 
> containing user input in other ways, e.g. {{q= +field:value +\{!dismax 
> v=$qq\}&qq=user input}}      and we want to protect the user input there 
> similarly from unwelcome query parsing switching.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

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

Reply via email to