You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@lucene.apache.org by "Nikolay Khitrin (JIRA)" <ji...@apache.org> on 2019/02/06 12:48:00 UTC

[jira] [Comment Edited] (SOLR-13227) Remove slow other-range checks from RangeFacetProcessor

    [ https://issues.apache.org/jira/browse/SOLR-13227?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16761712#comment-16761712 ] 

Nikolay Khitrin edited comment on SOLR-13227 at 2/6/19 12:47 PM:
-----------------------------------------------------------------

Example of profiler data on this spot:

!profiler.png|width=998,height=566!


was (Author: khitrin):
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: dev-unsubscribe@lucene.apache.org
For additional commands, e-mail: dev-help@lucene.apache.org