Yura created SOLR-17775:
---------------------------

             Summary: Optimize ValueSourceAugmenter
                 Key: SOLR-17775
                 URL: https://issues.apache.org/jira/browse/SOLR-17775
             Project: Solr
          Issue Type: Improvement
          Components: search
            Reporter: Yura


h3. Problem

ValueSourceAugmenter currently calculates function values on-demand during 
transform(), performing expensive binary searches and reader lookups for each 
document individually.
h3. Solution

Pre-calculate function values for all result set documents during setContext() 
by:
 * Collecting and sorting document IDs from DocList
 * Sequential iteration through sorted documents to calculate values once per 
reader segment
 * Storing results in hash map for O(1) lookup during transform()
 * Fallback to on-demand calculation for documents outside the pre-calculated 
set (RTG cases)

h3. Performance Benefit

Replaces repeated "find document at position N" operations (binary search per 
document) with efficient "get next document" iteration (sequential processing 
within reader segments), significantly reducing lookup overhead.
h3. Compatibility

Maintains full backward compatibility through fallback mechanism for edge cases.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to