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

Adrien Grand commented on LUCENE-9025:
--------------------------------------

We don't need a new method for this, we just need to optimize seekCeil for the 
case that the looked up term is greater than the current one? 
https://github.com/apache/lucene-solr/blob/master/lucene/core/src/java/org/apache/lucene/codecs/lucene80/Lucene80DocValuesProducer.java#L1059

> Add more efficient lookupTerm() overload to SortedSetDocValues
> --------------------------------------------------------------
>
>                 Key: LUCENE-9025
>                 URL: https://issues.apache.org/jira/browse/LUCENE-9025
>             Project: Lucene - Core
>          Issue Type: Improvement
>          Components: core/search
>    Affects Versions: master (9.0)
>            Reporter: Jason Gerlowski
>            Priority: Minor
>         Attachments: LUCENE-9025.patch
>
>
> {{SortedSetDocValues.lookupTerm(BytesRef)}} performs a binary search of the 
> entire docValues range to find the ordinal of the requested BytesRef.
> For an individual invocation, this is optimal.  Without other context, binary 
> search needs to cover the entire space.
> But there are some common uses of {{lookupTerm}} where this shouldn't be 
> necessary.  For example: making multiple {{lookupTerm}} calls to fetch the 
> ordinals for each value in a sorted list of terms.  {{lookupTerm}} will 
> binary-search the whole space on each invocation, even though the caller 
> knows that there's no point searching anything before the ordinal that came 
> back from the previous {{lookupTerm}} call.
> I propose we add a {{SortedSetDocValues.lookupTerm}} overload which takes a 
> lower-bound to start the binary search at: {{public long lookupTerm(BytesRef 
> key, long lowerSearchBound) throws IOException}}  This saves each 
> binary-search a few iterations in usage scenarios like the one described 
> above, which can conceivably add up.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscr...@lucene.apache.org
For additional commands, e-mail: issues-h...@lucene.apache.org

Reply via email to