[
https://issues.apache.org/jira/browse/SOLR-13227?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16761712#comment-16761712
]
Nikolay Khitrin commented on SOLR-13227:
----------------------------------------
Example of profiler data on this spot:
!profiler.png!
> 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
> Priority: Major
> Attachments: SOLR-13227.patch, profiler.png
>
>
> 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]