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

Jason Rutherglen commented on SOLR-569:
---------------------------------------

Can use the Apache JDK6 version.

> SimpleFacet binarysearch optimization
> -------------------------------------
>
>                 Key: SOLR-569
>                 URL: https://issues.apache.org/jira/browse/SOLR-569
>             Project: Solr
>          Issue Type: Improvement
>          Components: search
>    Affects Versions: 1.3
>            Reporter: Jason Rutherglen
>            Priority: Minor
>
> Looks like the SimpleFacets.getFieldCacheCounts could have small optimization:
> {noformat}
> startTermIndex = Arrays.binarySearch(terms,prefix,nullStrComparator);
> if (startTermIndex<0) startTermIndex=-startTermIndex-1;
> // find the end term.  \uffff isn't a legal unicode char, but only compareTo
> // is used, so it should be fine, and is guaranteed to be bigger than legal 
> chars.
> endTermIndex = 
> Arrays.binarySearch(terms,prefix+"\uffff\uffff\uffff\uffff",nullStrComparator);
> endTermIndex = -endTermIndex-1;
> {noformat} 
> to:
> {noformat}
> startTermIndex = Arrays.binarySearch(terms,prefix,nullStrComparator);
> if (startTermIndex<0) startTermIndex=-startTermIndex-1;
> // find the end term.  \uffff isn't a legal unicode char, but only compareTo
> // is used, so it should be fine, and is guaranteed to be bigger than legal 
> chars.
> endTermIndex = Arrays.binarySearch(terms, startTermIndex,
> terms.length, prefix+"\uffff\uffff\uffff\uffff",nullStrComparator);
> endTermIndex = -endTermIndex-1;
> {noformat} 

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to