[ https://issues.apache.org/jira/browse/SOLR-17775?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17956481#comment-17956481 ]
ASF subversion and git services commented on SOLR-17775: -------------------------------------------------------- Commit 08f7eda826c74a1d00679649f102202a6037d2e5 in solr's branch refs/heads/branch_9x from yura [ https://gitbox.apache.org/repos/asf?p=solr.git;h=08f7eda826c ] SOLR-17775: Speed up function queries in 'fl' param. (#3380) By fetching the data in doc order (mechanical sympathy) up to a cached threshold (cherry picked from commit 51b315ae7c570782b0d46cfb356d19f3d34d4fa5) > Optimize ValueSourceAugmenter > ----------------------------- > > Key: SOLR-17775 > URL: https://issues.apache.org/jira/browse/SOLR-17775 > Project: Solr > Issue Type: Improvement > Components: search > Reporter: Yura > Priority: Minor > Labels: pull-request-available > Time Spent: 1h 40m > Remaining Estimate: 0h > > 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: issues-unsubscr...@solr.apache.org For additional commands, e-mail: issues-h...@solr.apache.org