Nikolay Khitrin created SOLR-13227:
--------------------------------------

             Summary: Remove slow other-range checks from RangeFacetProcessor
                 Key: SOLR-13227
                 URL: https://issues.apache.org/jira/browse/SOLR-13227
             Project: Solr
          Issue Type: Improvement
      Security Level: Public (Default Security Level. Issues are Public)
          Components: faceting
    Affects Versions: 7.5, 8.0, master (9.0)
            Reporter: Nikolay Khitrin


RangeFacetProcessor.getFacetRangeCountsDocValues is checking every range name 
over FacetParams.FacetRangeOther enum via catching IllegalArgumentException 
from valueOf, rethrowing it as SolrException and picking a branch based on the 
presence of last one.

It is very slow due to enormous cost of failed Enum.valueOf.
Also RangeFacetRequest.FacetRange already have a field with parsed 
FacetRangeOther value for special ranges or null for ordinary ones.

Replacing this with simple null check leads to huge performance boost here.
In real case with a lot of intervals (~2000) whole QTime is reduced from 300ms 
to 50ms by this patch.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

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

Reply via email to