[
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.