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

Christine Poerschke resolved SOLR-10155.
----------------------------------------
       Resolution: Fixed
    Fix Version/s: master (7.0)
                   6x

Thanks everyone!

> Clarify logic for term filters on numeric types
> -----------------------------------------------
>
>                 Key: SOLR-10155
>                 URL: https://issues.apache.org/jira/browse/SOLR-10155
>             Project: Solr
>          Issue Type: Improvement
>      Security Level: Public(Default Security Level. Issues are Public) 
>          Components: faceting
>    Affects Versions: 6.4.1
>            Reporter: Gus Heck
>            Assignee: Christine Poerschke
>            Priority: Minor
>             Fix For: 6x, master (7.0)
>
>         Attachments: SOLR-10155.patch, SOLR-10155.patch
>
>
> The following code has been found to be confusing to multiple folks working 
> in SimpleFacets.java (see SOLR-10132)
> {code}
> if (termFilter != null) {
>               // TODO: understand this logic... what is the case for 
> supporting an empty string
>               // for contains on numeric facets? What does that achieve?
>               // The exception message is misleading in the case of an 
> excludeTerms filter in any case...
>               // Also maybe vulnerable to NPE on isEmpty test?
>               final boolean supportedOperation = (termFilter instanceof 
> SubstringBytesRefFilter) && ((SubstringBytesRefFilter) 
> termFilter).substring().isEmpty();
>               if (!supportedOperation) {
>                 throw new SolrException(ErrorCode.BAD_REQUEST, 
> FacetParams.FACET_CONTAINS + " is not supported on numeric types");
>               }
>             }
> {code}
> This is found around line 482 or so. The comment in the code above is mine, 
> and won't be found in the codebase. This ticket can be resolved by 
> eliminating the complex check and just denying all termFilters with a better 
> exception message not specific to contains filters (and perhaps consolidated 
> with the proceeding check for about prefix filters?), or adding a comment to 
> the code base explaining why we need to allow a term filter with an empty, 
> non-null string to be processed, and why this isn't an NPE waiting to happen.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org
For additional commands, e-mail: dev-h...@lucene.apache.org

Reply via email to