Skip to content

Conversation

HUSTERGS
Copy link
Contributor

Description

This PR Implements longValues method for MultiFieldNormValues to speedup CombinedQuery
Here is the luceneutil benchmark result with wikimediumall and searchConcurrency set to 0, after 20 iterations:

                            TaskQPS baseline      StdDevQPS my_modified_version      StdDev                Pct diff p-value
                    CombinedTerm       10.04      (8.2%)       12.49     (11.1%)   24.5% (   4% -   47%) 0.000
             CombinedAndHighHigh        5.00      (7.6%)        6.32     (12.6%)   26.3% (   5% -   50%) 0.000
              CombinedOrHighHigh        4.99      (7.9%)        6.30     (12.6%)   26.4% (   5% -   50%) 0.000
              CombinedAndHighMed       17.08      (8.0%)       22.87     (12.5%)   33.9% (  12% -   59%) 0.000
               CombinedOrHighMed       16.90      (8.2%)       22.76     (12.7%)   34.7% (  12% -   60%) 0.000

Copy link
Contributor

This PR does not have an entry in lucene/CHANGES.txt. Consider adding one. If the PR doesn't need a changelog entry, then add the skip-changelog label to it and you will stop receiving this reminder on future updates to the PR.

@HUSTERGS HUSTERGS requested a review from jpountz September 30, 2025 16:25
Copy link
Contributor

@jpountz jpountz left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This looks good to me, can you add a comment that this code relies on the assumption that document lengths can never be equal to 0?

@HUSTERGS HUSTERGS merged commit f1e151e into apache:main Oct 10, 2025
12 checks passed
@HUSTERGS
Copy link
Contributor Author

The lastest nightly benchmark catch up with this change, and shows about 15% speedup on Combined type queries
https://benchmarks.mikemccandless.com/2025.10.10.20.23.06.html

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants