[
https://issues.apache.org/jira/browse/SOLR-16126?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17526734#comment-17526734
]
Michael Gibney commented on SOLR-16126:
---------------------------------------
Thanks for weighing in. That explanation makes sense, and in general I'd be all
in favor of strictness if the pattern triggering a hard failure was clearly
pathological.
Arguably I don't see that here though (just to think this through "out loud",
not trying to convince necessarily) -- the booleanparser example is _clearly_
pathological. But by contrast, the above example not throwing an error is
entirely reasonable behavior I think: asking q to be filtered according to any
fq params. There are none, so \*:* it is :-)
Practically speaking, it would be possible to accommodate the behavior I'm
after here by just adding a static "dummy" {{fq=\*:*}} param and call it a day,
so I don't _mind_ reverting if you (or anyone else who chimes in) feel strongly
about it.
> Allow FiltersQParser (`{!filters param=[...]}`) to tolerate empty `param` args
> ------------------------------------------------------------------------------
>
> Key: SOLR-16126
> URL: https://issues.apache.org/jira/browse/SOLR-16126
> Project: Solr
> Issue Type: Improvement
> Security Level: Public(Default Security Level. Issues are Public)
> Components: query parsers
> Affects Versions: main (10.0)
> Reporter: Michael Gibney
> Assignee: Michael Gibney
> Priority: Minor
> Fix For: 9.1
>
> Time Spent: 40m
> Remaining Estimate: 0h
>
> One common use case for FiltersQParser is to bundle filters and main query,
> e.g. for passing a single-query domain definition to functions, or for
> finer-grained control over how logical filters are bundled together.
> Consider the first use case: `\{!filters param=$q param=$fq\}`
> FiltersQParser currently strictly enforces that the referred params must be
> present and non-empty, and fails hard (throws a {{SyntaxError}}) if this is
> not the case.
> This issue proposes to relax this enforcement, because:
> # There are legitimate, common use cases for which this requirement is simply
> an inconvenience (albeit easily worked around by adding a "dummy"
> {{fq=\*:\*}}), and
> # It's unclear what practical purpose is served by by the current strict
> enforcement of non-empty params.
> The proposal is to have e.g. `\{!filters param=$fq\}`, in the absence of any
> non-empty {{fq}} param, be equivalent to {{\*:\*}}.
--
This message was sent by Atlassian Jira
(v8.20.7#820007)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]