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: [email protected]
For additional commands, e-mail: [email protected]